2016-12-05 194 views
0

我故意发出socket.BeginReceiveFrom调用并传递16字节的缓冲区, ,尽管我知道另一方发送大约2,000字节的消息。我这样做是故意的,因为我只想先读取16个字节的标题,然后发出第二个接收调用,它将读取长度可变的有效载荷。您可能会猜到,标题包含4个字节,表示有效负载长度。UDP套接字异步接收

这就是说,我收到一个异常,说缓冲区不够大,无法接收消息...怎么回事?

回答

0

这不可能,udp是数据报,而不是流。你不能读取部分消息。

+0

我只记得我在C++中通过在套接字选项中设置了一个标志来做到这一点......我在这里错了吗? –

+0

不幸的是,我没有经验。抱歉 –