У меня проблемы с устройством, отправляющим файлы на FTP-сайт на компьютере с Windows 7 Pro. Я не вижу той же проблемы между тем же устройством и машиной Windows XP или между машиной Windows XP и машиной Windows 7. Я не знаком с Windows 7 (это первая машина, на которой я когда-либо работал), поэтому я ищу советы и методы отладки на стороне Windows 7.
У меня есть установка:
Камера Cognex 5600, которая отправляет небольшой текстовый файл по FTP на основе событий. (Думайте об этом просто как о встроенной системе, генерирующей данные через FTP)
Windows 7 Pro машина с FTP-сайтом
На компьютере под управлением Windows XP работает эквивалентный FTP-сайт, но также имеется тестовая программа, написанная на C #, которая может дублировать данные, передаваемые камерой.
Что я вижу на данный момент:
Я могу направить камеру на систему XP и отправлять данные с длительностью цикла до 30 мс без ошибок камеры.
Я могу направить систему XP на систему Windows 7 и эмулировать камеру, а также отправлять данные с циклом 30 мс без видимых ошибок.
Когда я указываю камеру на систему Windows 7, передачи по FTP немедленно прекращаются, и камера сообщает об ошибке FTP 125 - Соединение для передачи данных уже открыто, передача начинается. Это происходит, даже если я замедляю время цикла до 500 мсек. Когда это происходит, никакие данные не отображаются в каталоге FTP.
Исходя из всего этого, я предполагаю, что камера работает быстро и свободно с протоколом FTP, и в то время как XP игнорирует ситуацию, Windows 7 подавляет и вызывает ошибку.
Поэтому мне нужно заглянуть под капот и посмотреть, что происходит между камерой и Windows 7.
На фундаментальном уровне я буду играть с Wireshark, но есть ли какие-то специфические особенности Windows 7, которые я могу использовать для просмотра данных с другой точки зрения?
редактировать
Я весело провел время с wireshark и обнаружил различия в ответах FTP между камерой для Win 7 и XP для Win 7 ситуаций. Однако я не уверен, какой сетевой стек работает правильно, и я открыл дело с производителем камеры.
Вот самое интересное:
- Система XP открывает соединение с системой Win7
- Он отправляет команду STOR в качестве предшественника для отправки данных
- Система Win 7 отвечает ACK и "125 Data Connection уже открыто"
- Система XP отправляет и пакет FTP-DATA с файлами полезной нагрузки
Сравнить с:
- Камера открывает соединение с системой Win7
- Он отправляет команду STOR в качестве предшественника для отправки данных
- Система Win 7 отвечает ACK и "125 Data Connection уже открыто"
- Камера отправляет ACK-пакет
- Камера отправляет пакет FTP-DATA с RST и ACK, но без фактических данных
- Система Win 7 отвечает "550 Указанное имя сети больше не доступно"
- Камера выдает FTP-запрос на выход.
Есть идеи, кто прав?
2-й править
Я установил 32-битный FTP-сервер FileZilla на Windows 7, и проблема была решена. Я до сих пор не знаю, какой стек FTP виноват, но сейчас меня не волнует, так как у меня есть рабочее решение. Однако я нахожу ситуацию тревожной.