udp与tcp socket客户端在收发数据时有什么区别
发布网友
发布时间:2022-04-23 07:07
我来回答
共2个回答
热心网友
时间:2022-06-17 06:30
udp和tcp都是TCP/IP协议的一部分,这是最底层的通讯协议,所谓的Socket只是对协议进行封装,这与那种高级编程语言无关。
解释一下udp与tcp:
TCP (Transmission Control Protocol),传输控制协议。它是基于数据流连接和面向的协议,应用程序把数据要经过TCP/IP的分割成若干包,这样数据就以字节流发送和接收,到达目的地后,TCP/IP 再按顺序进行组装。TCP/IP 要保证机器与机器之间的连接的可靠性,还要有纠错。也就是说:TCP是稳定的,你用TCP协议发出的数据要么中间出错而收不到,要么收到,而且一定是准确数据。
UDP (User Datagram Protocol) ,用户数据报协议 ,象TCP一样运行在IP之上,是基于数据报或分组的协议,UDP/IP 可以直接发送和接收数据报文,而不必做验证,这一点与TCP/IP 不同。也就是说,UDP是不稳定的协议。
热心网友
时间:2022-06-17 06:31
man -a tcp、 man -a udp就能看清楚了,只是传给socket函数的参数不同;数据收发成功于否只需要判断函数的返回值即可,如果你用send函数发送数据,man -a send看清楚send成功返回值就行了。
你这些问题很基础,建议先看“Linux网络编程一步一步学”系列,从这里开始:
参考资料:http://zhoulifa.bokee.com/6062858.html