Socket(TCPIP) Нестабильный
У меня есть настройка сервера SCPI на ПК с Win7, и 2 другие программы общаются с ним локально (127.0.0.1) через сокеты TCPIP 5025 и 5029.
Это работало хорошо и стабильно на новом ПК, но когда мы переместили его на наши производственные линии и ИТ-отдел добавил свои политики и прочее, это стало нестабильным. ПК подключен к серверу производственной площадки, но обе программы работают на ПК локально.
Соединение имеет тенденцию быть разъединенным, когда есть период простоя. И требуется 5-6 раз, чтобы обновить соединение, чтобы вернуть его.
Я сам не программист, поэтому я надеюсь посмотреть, сможет ли кто-нибудь здесь помочь с некоторыми ответами.
Большое спасибо!!
С уважением, KwanWee.
1 ответ
Для решения проблемы тайм-аута вам, вероятно, потребуется либо получить помощь ИТ-специалистов в удалении любой политики, вызывающей закрытие соединения, либо обойти ее, убедившись, что ссылка не будет простаивать в течение достаточно долгого времени для тайм-аута. Например, вы можете периодически выполнять команду, которая не должна иметь никакого эффекта, например *IDN? или опрос некоторых регистров ошибок (я забываю, если те, которые очищены при чтении; если они это сделают, вам придется использовать значение в вашей программе)
С точки зрения проблемы повторного подключения, продолжает ли ваш серверный процесс работать и использовать тот же прослушивающий сокет для повторных подключений? Если нет - если вы связываете новый сокет (или перезапускаете программу), ваша проблема может заключаться в невозможности установить SO_REUSADDR на сокет.