自定义数据报包的大小

时间:2014-10-28 21:39:50

标签: android udp datagram

我正在使用客户端 - 服务器文件传输android应用程序来使用Wi-Fi传输视频文件。我创建了一个自定义数据报包,其中包含一个用于数据的byte [],一个用于序列号的int和一个用于确认的布尔值。

我在服务器端使用500字节用于客户端数据和590字节(按命中和试用计算590),这是正常工作。

此外,我注意到如果我在客户端使用1400字节而服务器大小使用1490,则收到的文件已损坏且无法播放。

1)我应该如何计算服务器端接收数据包的确切大小?

2)当我使用1400字节时,为什么接收文件被破坏? (MTU是1500)

1 个答案:

答案 0 :(得分:0)

UDP数据报有效负载大小的普遍接受的安全限制是534字节。这是从576的幻数中得出的,这是互联网路由器不允许分段的最大IP数据包大小。在我看来它应该是576-28 = 548但是你可能需要为IP选项留出更多空间。