2016-12-05 35 views
0

私は意図的にsocket.BeginReceiveFrom呼び出しを発行して、もう片方が約2,000バイトのメッセージを送信することがわかっているにもかかわらず、16バイトのバッファ を渡します。私はそれを意図的に行うのは、最初に16バイトのヘッダーを読み込み、次に可変長のペイロードを読み取る2番目の受信呼び出しを出すだけだからです。あなたが推測しているように、ヘッダーには、ペイロードの長さを示す4バイトが含まれています。UDPソケット非同期受信

しかし、私はバッファがメッセージを受信するのに十分な大きさではないと言う例外があります...どうしてですか?

答えて

0

これは不可能ですが、udpはストリーミングではなくデータグラムです。あなたは部分的なメッセージを読むことができません。

+0

私はこれをC++でソケットオプションでフラグを設定することで一度だけ行ったことを思い出しています...私は間違っていますか? –

+0

残念ながら私はそれについての経験はありません。ごめんなさい –

関連する問題