我想在我的C-programm中使用可靠传输的UDP套接字,我想知道更多数据包丢失的地方。
我们知道UDP不是可靠的协议。这意味着:
我对第二种情况感兴趣 - 它是如何工作的? 在接收缓冲区中,数据报与数据报的大小一起记录, 因为UDP保证了消息边界的保留。当接收缓冲区溢出时,第一个数据报删除:
即。这意味着当我调用从socket读取时,然后发生系统调用,在内核空间中访问这样的环形缓冲区,在那里它读取数据报大小的前8个字节,然后读取具有这个大小的数据报,不是它?
是不是?
操作系统:Linux x86_64(RedHat 6)
答案 0 :(得分:1)
当接收缓冲区溢出时,[第一个数据报[是]删除[d]
没有。当数据报到达且接收缓冲区已满时, new 数据报将被丢弃。根本不会处理缓冲区。