网络编程-TCP/IP

目录

1. TCP

2. UDP

3. TCP连接流程

4. UDP连接流程

5.函数接口

5.1 socket

5.2 bind

5.3 listen

5.4 accept

5.5 connect

5.6 recv/send

5.7 recvfrom/sendto


相同点:

同属于传输层协议

不同点:

TCP:流式套接字,面向连接的,可靠的通信

UDP:数据报套接字,无连接的,不可靠的通信

1. TCP

全双工通信、面向连接、可靠

TCP(即传输控制协议):是一种面向连接传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)。

高可靠原因: 1. 三次握手、四次挥手

                        2. 序列号和应答机制

                        3. 超时,错误重传机制

                        4. 拥塞控制、流量控制(滑动窗口)

适用场景

适合于对传输质量要求较高的通信

在需要可靠数据传输的场合,通常使用TCP协议

MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议

2. UDP

全双工通信、面向无连接、不可靠

UDP(User Datagram Protocol)用户数据报协议,是不可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。

适用场景

发送小尺寸数据(如对DNS服务器进行IP地址查询时)

适合于广播/组播式通信中。

MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议

3. TCP连接流程

你可能感兴趣的:(网络编程,网络,tcp/ip,服务器)