Java / Android:UDP - 无法接收更大的数据包(但仍然<64k)

时间:2011-11-05 23:15:41

标签: java android networking udp

我正在开发一个客户端 - 服务器android应用程序(两个应用程序 - 一个客户端和一个服务器)。期望服务器通过UDP向客户端发送视频。我将视频分成单独的帧,每个帧最终约为50,000字节,理论上仍然小于UDP的最大值。

我目前正在测试在同一台机器上运行的两个Android模拟器,并使用其间的UDP端口转发来连接它们。

我已经设置了UDP,如果我发送一个大约5000或更少字节的字节数组,它可以正常工作。如果我尝试发送我的帧字节数组(50,000字节),应用程序将在客户端上的DatagramSocket.receive()方法中冻结。

有没有办法设置UDP传输以接收更大的字节大小?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

但它不低于UDP的实用最大值,即534或576字节,此刻不记得哪个,对不起。无论哪个,这是最大的数据包大小,将避免碎片。一旦UDP数据包被分段为N个片段,它就有可能丢失N倍。