C # / Java Socket Connection потерял? - PullRequest
1 голос
/ 19 марта 2012

Я делаю чат-клиент C # / Java-сервер, и теперь все работает нормально, за исключением одного: Через некоторое время (около часа) неиспользования приложения (или его использования, я не знаю) оно дает мне SocketException у клиента C # в сокете. Функция EndReceive ():

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

Соединения сокетов Java или C # закрываются после некоторого времени простоя? Или это просто протокол TCP? Какой лучший способ исправить это?

Спасибо всем!

Bas

1 Ответ

1 голос
/ 19 марта 2012

Соединения сокетов Java или C # закрываются после некоторого времени простоя?

номер

Однако, брандмауэры и особенно шлюзы NAT делают, часто молча.

Какой лучший способ исправить это?

Выполнить процедуру сердцебиения. т. е. клиент и / или сервер периодически отправляют (например, каждые 10 или 30 секунд) специальное сообщение, которое просто используется для поддержания соединения активным и для более быстрого обнаружения сбойного узла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...