-1

我正在编写一个应用程序,它传输视频,显然为此目的使用了 UDP 协议。所以我想知道如何增加发送/接收缓冲区的大小,因为目前我可以发送的最大数据大小是 65000 字节。我已经尝试通过以下方式做到这一点:

int option = 262144;
if(setsockopt(m_SocketHandle,SOL_SOCKET,SO_RCVBUF ,(char*)&option,sizeof(option)) < 0)
{
    printf("setsockopt failed\n");

}

但它没有用。那么我该怎么做呢?

4

1 回答 1

4

我该怎么做?

你不能。IPv4 UDP 数据报的最大大小为 65535-20-8=65507 字节。增加缓冲区大小不能改变这一点。大于路径 MTU(< 1500 字节)的数据报将被分片,并且分片的数据报更有可能丢失,统计上,因此无论如何使用大约 64k 大小的数据报是相反的。

于 2012-12-08T23:01:44.683 回答