-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 に答える