2015-12-15 4 views
1

Я пытаюсь написать внутреннюю транспортную систему. Данные должны передаваться от клиента к серверу с использованием сетевых сокетов. Он отлично работает, за исключением обработки сетевых проблем. Если я размещаю межсетевой экран между клиентом и сервером, с обеих сторон я не увижу никаких ошибок, поэтому данные будут продолжать заполнять буфер ядра на стороне клиента. И если я перезапущу приложение в этот момент, я потеряю все данные в буфере.Как обнаружить сбой сети в сокетах Node.js

Вопрос: У нас есть какой-либо способ обнаружить проблемы с сетью? Есть ли у нас способ вернуть данные из буферов ядра?

ответ

1

Узел js предоставляет вам низкоуровневое соединение api непосредственно. Я предполагаю, что вы используете сокет TCP для отправки и получения данных.

Одним из способов обеспечения активного соединения между клиентом и сервером является отправка сигналов сердечного ритма взад и вперед. Если вы не получили сердцебиение с сервера при отправке данных, вы можете предположить, что соединение завершилось неудачно.

Что касается второй части вашего вопроса: нет простого способа получить данные из буферов ядра. Если потеря данных будет проблемой, я бы обязательно записал ее на диск.

Смежные вопросы