2016-12-05 135 views
0

我故意發出socket.BeginReceiveFrom調用並傳遞16字節的緩衝區, ,儘管我知道另一方發送大約2,000字節的消息。我這樣做是故意的,因爲我只想先讀取16個字節的標題,然後發出第二個接收調用,它將讀取長度可變的有效載荷。您可能會猜到,標題包含4個字節,表示有效負載長度。UDP套接字異步接收

這就是說,我收到一個異常,說緩衝區不夠大,無法接收消息...怎麼回事?

回答

0

這不可能,udp是數據報,而不是流。你不能讀取部分消息。

+0

我只記得我在C++中通過在套接字選項中設置了一個標誌來做到這一點......我在這裏錯了嗎? –

+0

不幸的是,我沒有經驗。抱歉 –