日期:2014-05-16  浏览次数:20665 次

UDP协议在实现时有没有在发送端或者接收端设置缓冲区?
我们知道TCP协议在实现时在接收端和发送端是分别设置了接受缓冲和发送缓冲的。
但是UDP呢?个人认为从理论上来讲UDP应该是没有缓冲区才对,不知道这种推测对不对?
谢谢!

------解决方案--------------------
不缓冲数据放哪?

TCP和UDP都缓冲, 

TCP把缓冲区当作有序的容器, 根据TCP序号来按包序存储到来的乱序TCP包.
UDP把缓冲区单纯当作一个容器, 直接把乱序到来的UDP包顺序存入缓冲区.

缓存都是有的, 没缓存的结果就是包来了又没了, 你还recvfrom啥东西呢..