如何判断一个socket发送缓冲区中有多少数据
本文关键字:缓冲区 数据 多少 一个 何判断 判断 socket | 更新日期: 2023-09-27 18:04:22
我可以通过调用Socket.IOControl(IOControlCode.DataToRead, null, outValue);
是否有一个等效的方法来告诉Socket的发送缓冲区中有多少数据?
我需要在带宽和延迟受限的网络上发送尽可能多的UDP数据包,并且我遇到了发送缓冲区溢出的情况,因此我需要实现某种形式的节流
UDP套接字没有发送缓冲区。UDP的SO_SNDBUF
套接字选项的含义是对您可以发送的数据报大小的限制。内核通常在每个网卡上都有一个数据包队列,但是对于所有协议来说都是合并的,并且没有用户端API来查询它的大小。IP层,然后是硬件,可以静默地丢弃数据包。TCP知道如何处理这个问题,UDP不知道。所以,除非。net或其他微软的奇迹在用户层库中有这样的缓冲,否则你就不走运了。
追索权是接收方向发送方发出关于丢失数据包、请求重发、退回到TCP等的信号。这也意味着要从发送方获得某种排序。
你能分析标题吗?可能有关于内容长度的信息