网络介绍
将具有独立功能的多台计算机通过通信线路和通信设备连接起来,在网络管理软件及网络通信协议下,实现资源共享和信息传递的虚拟平台。
能够编写基于网络通信的软件或程序,通常来说就是网络编程。
IP地址
IP地址是分配给网络设备上网使用的数字标签,它能够标识网络中唯一的一台设备。
查看IP地址
- Linux和macOS使用ifconfig
- Windows使用ipconfig
测试网络是否畅通的命令
ping ip地址
本机ip地址:
127.0.0.1
端口和端口号
端口是传输数据的通道,是数据传输必经之路。
每运行一个网络程序都会有一个端口,想要给对应的程序发送数据,找到对应的端口即可。
端口号有65536个。
通过ip地址找到对应的设备,通过端口号找到对应的端口,然后通过端口把数据传输给应用程序。
端口号可以标识唯一的一个端口。
端口号的分类
- 知名端口号 众所周知的端口号,0到1023。21端口分配给FTP服务,25端口分配给SMTP服务,80端口分配给HTTP服务。
- 动态端口号 一般程序员开发应用程序使用端口号称为动态端口号,1024到65535。
TCP的介绍
数据在发送之前还需要选择一个对应的传输协议,保证程序之间按照指定的传输规则进行数据的通信。
TCP简称传输控制协议,它是一种面向连接的、可靠的、基于字节流的传输层通信协议。
TCP通信步骤:
- 创建连接
- 传输数据
- 关闭连接
TCP的特点:
- 面向连接
- 可靠传输
- TCP采用发送应答机制
- 超时重传
- 错误校验
- 流量控制和阻塞管理
socket工具
socket(套接字)是进程之间通信的一个工具,进程之间想要进行网络通信需要基于这个socket。