Доброго времени суток!
Пытаюсь реализовать простейшее клиент-серверное приложение работающее через IP/TCP, на базе контроллера 1986ВЕ91Т.
Контроллер подключен к ПК, на ПК запускается программа, которая стучится по адресу и пытается установить канал по TCP с моим устройством, отправляет пакет с флагом SYN -
см. рис. 1 (раскадровка с WireShark). Моё устройство отвечает пакетом с флагами SYN,ACK -
см. рис. 2. (на данном скрине приведен пример с не правильным подсчетом контрольной суммы, но поверьте на слово, в исправленном варианте всё ровно то же самое)
Рисунок 1.Рисунок 2.Суть: Проблема в том, что после отправки пакета (SYN,ACK) не происходит ровным счётом НИЧЕГО. WireShark при этом говорит о том, что пакет принят и пакет составлен корректно. И программа (в данном случае играющая роль клиента) в ответ на "мой" пакет так же никак не реагирует (
см.рис.3).
Рисунок 3.Для примера на
рисунке 4 приведена раскадровка пакетов передаваемых между 2мя ПК, где на одном ПК прога играет роль клиента, а на другом роль сервера. Как можно заметить, после установки связи начинается благополучная передачи n-го числа байтов данных и успешное завершение сеанса связи.
Рисунок 4.Пытался отправить реплику пакета работающего варианта (т.е. создал точную копию пакета (SYN,ACK) который был
отправлен в ситуации с подключением двух компов и после которого всё сработало) - результат нулевой.
Вопрос: В чем может быть проблема? Почему ПК и программа никак не реагирует на, казалось бы, правильно составленный и принятый пакет?
ЗЫ: Код приводить не вижу смысла, ибо гораздо нагляднее на раскадровке пакетов (но по просьбе трудящихся могу и выложить)