- TCP与UDP的基本区别
(1)基于连接与无连接;
(2)TCP要求系统资源较多,UDP较少;
(3)UDP程序结构较简单;
(4)面向字节流(TCP)与面向数据报(UDP);
(5)TCP能保证传输的可靠性,UDP不能;
(6)TCP能保证数据的按序到达,UDP不能。
- TCP
TCP编程的服务器端一般步骤是:
(1)创建一个socket,用函数socket();
(2)设置socket属性,用函数setsockopt();
(3)用函数bind()绑定IP地址、端口等信息到socket上;
(4)用函数listen()开启监听;
(5)接受客户端上来的连接,用函数accept();
(6)收发数据,用函数send()和recv(),或者read()和write();
(7)关闭网络连接;
(8)关闭监听。
TCP编程的客户端一般步骤为:
(1)创建一个socket,用函数socket();
(2)设置socket属性,用函数setsockopt();
(3)用函数bind()绑定IP地址、端口等信息到socket上;
(4)设置要连接的对方的IP地址和端口等属性;
(5)连接服务器,用函数connect();
(6)收发数据,用函数send()和recv(),或者read()和write();
(7)关闭网络连接。
- UDP
与TCP相比,UDP编程步骤较为简单。
UDP编程的服务器端一般步骤为:
(1)创建一个socket,用函数socket();
(2)设置socket属性,用函数setsockopt();
(3)用函数bind()绑定IP地址、端口等信息到socket上;
(4)循环接收数据,用函数recvfrom();
(5)关闭网络连接。
UDP编程的客户端一般步骤为:
(1)创建一个socket,用函数socket();
(2)设置socket属性,用函数setsockopt();
(3)用函数bind()绑定IP地址、端口等信息到socket上;
(4)设置对方的IP地址和端口等属性;
(5)发送数据,用函数sendto();
(6)关闭网络连接。
- TCP与UDP区别总结
(2)TCP保证可靠性,即通过TCP连接传输的数据,无差错、不丢失、不重复,且能保证按序到达;UDP不保证可靠性。
(3)TCP面向字节流,可以按照任意长度发送和接收;UDP面向数据报,即UDP传输数据时以报文为基本单位整收整发,不存在“半个”的现象。
(4)每一条TCP连接只能是点到点的;UDP支持一对一、一对多、多对一和多对多的交互通信。
(5)TCP的首部占20个字节;UDP首部占8个字节。
(6)TCP的逻辑通信信道是全双工的可靠信道;UDP是不可靠信道。