首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++中关于UDP收发的,该如何处理

2013-09-28 
C++中关于UDP收发的在UDP中 发送端每次发送一个数 发送一百次,等到全部发完,接收端再一次将100个数取走,这

C++中关于UDP收发的
在UDP中 发送端每次发送一个数 发送一百次,等到全部发完,接收端再一次将100个数取走,这可能吗?
[解决办法]
1.如果超过接收端的缓冲大小,则丢包会发生
2.包在网络中传输会发生丢包,所以你可能发了100个数,接到98个。
[解决办法]
udp是无连接不可靠传输协议
所以既保证不了能收到100个数,也保证不了收到的顺序。
所以使用udp协议一般需要在udp协议之上自己再封装一层。
[解决办法]
UDP不可能一次取完,如果没有发生丢包(现在的局域网丢包概率很小),会取100次,也就是说,sendto的调用次数与recvfrom是一样一样的
TCP的话就有可能send100次,只recv一次
[解决办法]
udp发送出去后!他就不会去管接收是否接受成功的!
是无连接不可靠的!丢包是很正常的!而且你也很难确保你分100次发送出去后,对方就只接受一次!除非你只接收一次!

热点排行