В ПЛК-100 фтп клиент. При приеме файлов теряется последний пакет, если размер файла больше 512 байт. Во вложениях скриншоты из Wireshark при получении от фтп сервера файлов: 171 байт, 737 байт и 1808 байт, а также эмуляция работы фтп сервера с помощью тестовой программы Hercules - прием 550 байт одной посылкой. Как видно потеря происходит, когда в пакете одновременно 3 флага: FIN,PSH,ACK - этот пакет ПЛК не принимает, а заканчивает прием. То есть при приеме 171 байт, этой комбинации флагов нет - принято 171 байт. При приеме 737 байт - принимается 512 байт, 1808 байт - принято 512+512+450= 1474 байта. При приеме от Hercules приняты все 550 байт.
Проверено на прошивках 2.14.0, 2.15.3, 2.15.8, 2.16.0. На всех прошивках кроме 2.14.0 еще и принимает 3-4 раза из 10. Может из за резетов в пакетах? Резетов нет, только при приеме 1808 байт, работал на прошивке 2.14.0, остальные скриншоты на прошивке 2.15.3.
Разработчики, хелп! Надо исправлять.
Вложения слева-направо: Hercules, 1808 байт, 737, 171
ip ПЛК: 192.168.46.50, ip сервера: 192.168.46.5