Я устанавливаю TCP-соединение между моим сервером и клиентом, который работает на одном хосте. Мы собираем и читаем с сервера или говорим источник в нашем случае непрерывно. Мы читаем данные о 3 разных портах.TCP-соединение между клиентом и сервером не соответствует
Как только источник прекращает публикацию данных или перезапускается, сервер/источник не может публиковать данные снова на том же порту, что порт уже привязан. Причина в том, что клиент все еще установил соединение на этих портах.
Я хотел знать, что может быть вероятными причинами этого? Может ли быть проблема, так как клиент уже прослушивает эти порты и пытается снова и снова подключаться, потому что мы пытаемся использовать этот механизм пересоединения. Я больше ищу причину со стороны источника, как тот же код на стороне клиента, когда источник и клиент находятся на другом хосте, а не тот же хост отлично работает для нас.
Редактировать: - Я нашел это, проходя через различные статьи.
На вопрос об использовании SO_LINGER отправить RST на близко, чтобы избежать состояния TIME_WAIT: У меня возникли некоторые проблемы с серверами доступа маршрутизатора (имена удержаны, чтобы защитить виновных), которые имеют проблемы, касающиеся бэк- к модеме, подключенному к определенному каналу. То, что они делают, - это отпустить соединение, принять другой вызов, попытаться подключиться к известному сокету на хосте, и хост отказывается от соединения, потому что в состоянии TIME_WAIT есть соединение с известным сокетом. (Книга Стивенса TCP Illustrated, В томе 1 более подробно обсуждается эта проблема.) Во избежание отказа в подключении мне пришлось установить опцию «reset-on-close» на сервере, когда сервер инициирует отключение.
Ссылка на источник: - http://developerweb.net/viewtopic.php?id=2941
Я предполагаю, что я столкнулся с той же проблемой: «попытка подключиться к известному гнезду на хосте, и хозяин отказывается связь». Вероятное исправление упоминания - это опция «сбросить-на-закрытие» на сервере, когда сервер инициирует отключение ». Теперь, как мне это сделать?
Не используйте форматирование кода для текста, который не является кодом. – EJP
Пожалуйста, не используйте форматирование кода для текста, который не является кодом. – EJP