Какой протокол / метод использовать для соединения с отслеживанием состояния?

В настоящее время у нас есть разные приложения, которые взаимодействуют друг с другом по сети с помощью протокола без сохранения состояния, сравнимого с HTTP. Многие приложения отправляют сообщения одному приложению, которое прослушивает только один порт.

Теперь нам нужно изменить это, чтобы иметь четко определенное соединение от A до B, поэтому будут фиксированные порты для определенных партнеров по связи. Нам нужно мгновенно узнавать, когда соединение теряется или устанавливается, поэтому мы не можем полагаться на периодические проверки с сообщениями проверки активности, тайм-аутами или чем-то подобным.

Какой протокол или метод я могу использовать для реализации этого поведения? Все это используется для отправки и получения данных от датчиков и других устройств, поэтому существует более или менее постоянный трафик с относительно низкой средней пропускной способностью (примерно около 10–20 Мбит/с на центральном, часто используемом компоненте).

Спасибо за ваши предложения!


person Rob    schedule 06.02.2014    source источник


Ответы (1)


мы не можем полагаться на периодические проверки с сообщениями проверки активности, тайм-аутами и т.п.

Вы должны это сделать, так как TCP не сообщает вам о разрыве соединения, пока вы не попытаетесь прочитать или записать.

См. также Как проверить неисправность подключение TCPClient после подключения? .

person CodeCaster    schedule 06.02.2014
comment
Да как можно было обнаружить обрыв соединения без сетевого трафика? - person usr; 06.02.2014