MyException - 我的异常网
当前位置:我的异常网» VC/MFC » UDP只允许一包一包接收,仍是可以调用recvfrom一次

UDP只允许一包一包接收,仍是可以调用recvfrom一次接收多个包

www.MyException.Cn  网友分享于:2013-02-20  浏览:118次
UDP只允许一包一包接收,还是可以调用recvfrom一次接收多个包?
本帖最后由 iw1210 于 2013-01-29 16:28:30 编辑
UDP通讯,A向B连续发送了包大小分别为20和30字节的两个包,B用大小为50字节的缓冲调用recvfrom接收,只调用一次就能接收这两个包么?还是只允许一次只能收一包,即使两个包都到达了?

------解决方案--------------------
UDP每次只能收一包,TCP可以收多包。这有例子:
http://download.csdn.net/detail/geoff08zhang/4571358
------解决方案--------------------
一次一个,第一次是20字节,第二次是30字节的包
------解决方案--------------------
UDP发东西,和去外太空似的,当然一次把想说的都说完了,要不很可能就没有说后半句的机会了。
------解决方案--------------------
UDP是有边界的。要一个一个收,收到后会知道一个报文中的字节大小;
TCP是无边界的,是流。需要应用层字节判断边界。
------解决方案--------------------
UDP 一般是阻塞的 一次一个包
------解决方案--------------------
UDP每接收一次,就是 对方发的一个包,  不会出现2个包一起接收.  只会发生丢包.
------解决方案--------------------
UDP是有消息边界的~

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有