Мы используем встроенное устройство для отправки пакетов с последовательного порта через преобразователь последовательный в Ethernet на сервер.Один производитель, которого мы используем, Moxa, всегда будет отправлять пакеты таким же образом, как они построены.Это означает, что если мы создадим пакет размером 255, он всегда будет отправлять пакет длиной 255.Другой производитель, Tibbo, если мы отправим пакет размером 255, он разорвет пакет, если он больше 128. Это ответ, который я получил от инженеров Tibbo в то время:
«Из того, что я понимаю и что сказали инженеры, даже если другие устройства предоставляют вам правильный размер пакета, теперь не гарантирует, что при реализации в других сетях произойдет то же самое. Это причина, по которой мы чувствуем, что данные на основе размера пакетапередача через TCP не надежна, так как это было не так, как было разработано для использования TCP. "
Я понимаю, что это может быть не так, как было разработано для использования TCP, но если я создаю пакет255 байт и TCP это позволяет, тогда как это за пределами того, как работает TCP?Я понимаю, что в какой-то момент пакет может сломаться, но если сервер ожидает пакет определенного размера и предложение Moxa не имеет такой же проблемы, как у устройства Tibbo.
Итак, можно ли гарантировать разумный размер TCP-пакета?