2010-01-13 3 views

ответ

1

Возможно, что будет, если вы не получите сердцебиение?

Если у вас нет возможности для восстановления, есть Нет точки в сердцебиении.

Если вы используете обратную связь с сервером для клиента, вам нужен способ, которым клиент может попросить сервер пропустить все потерянные обратные вызовы, это непросто.

Также, если вы не получите сердечный ритм, это не значит, что сообщение не будет появляться позже, так как могут быть всевозможные задержки в сети, безопасно ли просто возмущаться вашими сообщениями?

Сердце биений легкий бит, то жесткий бит, что делать, когда сердце не бить!

+0

текущая реализация - близкое соединение когда нет сердце бит получил. – Benny

1

Да. TCP будет только показывать, что физическое соединение все еще живое (т. Е. Сокет не был редуцирован маршрутизаторами или ОС). Но скажу ничего про наличие приложения. Если процесс на другом конце вашего канала находится в цикле while(1); и не обрабатывает ваши запросы, вы на самом деле не подключены к нему.

0

Это довольно хороший способ узнать, что вы все еще подключены к другому концу на «уровне приложения», и приложения все еще могут разговаривать. В противном случае вам придется делать предположения, что «на другом конце» нечего «говорить», что было бы трудно отделить от «другого конца, фактически потерянного сетевого соединения 35 секунд назад».