【问题标题】:Size of custom datagram packet自定义数据报包的大小
【发布时间】:2014-10-29 06:44:13
【问题描述】:

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

我在客户端接收数据时使用 500 字节,在服务器端使用 590 字节(通过命中和试验计算出 590),这工作正常。

另外,我注意到如果我在客户端使用 1400 字节,在服务器端使用 1490 字节,接收到的文件会损坏并且无法播放。

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

2) 为什么我使用 1400 字节时接收到的文件损坏了? (MTU 为 1500)

【问题讨论】:

    标签: android udp datagram


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多