我读了this question about the error that I'm getting,我了解到UDP数据有效载荷不能超过64k。我读过的建议是使用TCP,但在这种情况下这不是一种选择。我正在通过UDP传输数据的外部系统进行连接,但此时我无法访问该外部系统,所以我正在模拟它。在Java中,如何处理大于最大UDP数据负载的UDP消息?
在某些情况下,我有超过1,400,000字节的数据消息,并且需要使用UDP协议。我无法更改协议(我更愿意使用TCP或基于UDP的可靠协议)。相反,我必须找到一种方法,通过UDP将测试应用程序中的大型有效负载传输到我正在构建的系统中,并读取系统中正在构建的大型有效负载。我不必担心丢包,如果我没有收到数据报,我不在乎 - 等待下一个有效负载到达。如果它不完整或丢失,请将它全部丢弃并继续等待。我也不知道数据报的大小(它们的范围从几百字节到1,400,000多字节)。
我已经将我的发送和接收缓冲区大小设置得足够大,但这还不够。否则我可以做什么?
他们如何发送有效载荷大于最大尺寸?我的意思是,你需要将它们编组/合并成合法大小的信息。 – 2011-10-17 13:27:48