- 四层TCP/IP模型
链路层(MAC VLAN) → 网络层(ARP ICMP) → 传输层 (TCP UDP)→ 网络层(DNS SMTP)
- TCP三次握手
- 客户端发送syn0给服务器
- 服务器收到syn0,回复syn1,(应答)ack(syn0+1)
- 客户端收到syn1,回复ack(syn1+1)
- TCP通信的过程
server client
创建socket socket() socket() 创建socket
绑定socket和端口号 bind()
监听该端口号 listen() connect() 连接指定计算机的端口
接收来自客户端的连接请求 accept() send() 向socket中传入信息
从socket中读取字符 recv()
关闭socket close() close() 关闭socket
- TCP是可靠的但是传输速度很慢,UDP是不可靠的,但传输速度快。因此在选用具体协议通信时,应该根据通信数据的要求而定。若通信数据完整性高于通信实时性,选用TCP协议,反之,则使用UDP(如视频传输、实时通信等)