2014-10-28 3 views
0

Я работаю над приложением для передачи файлов на сервер-клиент-сервер для передачи видеофайлов с помощью Wi-Fi. Я создал собственный пакет датаграмм, который включает в себя байт [] для данных, int для порядковых номеров и логическое значение для подтверждений.Размер пакета персонализированной дейтаграммы

Я использую 500 байт для данных на стороне клиента и 590 байт (590, вычисленных по удару и пробной версии) на стороне сервера при получении, который работает нормально.

Кроме того, я заметил, что если я использую 1400 байт на стороне клиента и 1490 при размере сервера, полученный файл поврежден и не воспроизводится.

1) Как вычислить точный размер принимаемого пакета на сервере?

2) Почему полученный файл поврежден, когда я использую 1400 байт? (MTU - 1500)

ответ

0

Общепринятый безопасный предел для полезной нагрузки дейтаграммы UDP составляет 534 байта. Это происходит как-то от магического числа 576, который является самым большим размером IP-пакета, который интернет-маршрутизаторы не разрешают фрагментировать. Мне кажется, это должно быть 576-28 = 548, но, возможно, вам нужно больше места для IP-параметров.

Смежные вопросы