增加 UDP 套接字中的接收缓冲区
Increase a recive buffer in UDP socket
我正在编写一个应用程序,该应用程序可以传输视频,并且显然为此目的使用了UDP协议。所以我想知道如何增加发送/接收缓冲区的大小,因为目前我可以发送的最大数据大小是 65000 字节。我已经尝试通过以下方式执行此操作:
int option = 262144;
if(setsockopt(m_SocketHandle,SOL_SOCKET,SO_RCVBUF ,(char*)&option,sizeof(option)) < 0)
{
printf("setsockopt failedn");
}
但它没有奏效。那我该怎么做呢?
我该怎么做?
你不能。IPv4 UDP 数据报的最大大小为 65535-20-8=65507 字节。增加缓冲区大小无法更改这一点。大于路径 MTU(<1500 字节)的数据报将被分段,并且从统计上讲,碎片数据报更有可能丢失,因此无论如何都禁止使用大约 64k 的数据报大小。
相关文章:
- C++字符*缓冲区的大小
- 从udp接收帧对于人脸识别来说太慢
- 为什么msgrcv()将垃圾字符馈送到缓冲区
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- ostream过载时的缓冲区冲洗
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- Xaudio2在更改缓冲区或循环时弹出声音
- 为什么我在leetcode上收到AddressSanitizer:地址0x602000000058上的堆缓冲区溢出错误
- 使用升压缓冲区使用 UDP 协议进行序列化和发送
- 增加 UDP 套接字中的接收缓冲区
- 套接字:在没有memcpy的情况下,使用recvfrom将UDP数据获取到字对齐的缓冲区
- 当接收缓冲区几乎满时,阻止UDP数据包被部分截断
- 如何检查已使用的 UDP 缓冲区状态
- boost::udp socket.recieve_from() 将数据追加到缓冲区的末尾
- 使用LibAV解码UDP流:缓冲区大小不足
- 谷歌协议缓冲区不适用于UDP?
- UDP套接字缓冲区溢出检测
- 如何在Winsock中查找当前使用的UDP接收缓冲区大小
- 来自UDP连接的第一个缓冲区包含垃圾-随后的连接是好的