Пульс - это небольшое сообщение, отправляемое клиентом на сервер (или с сервера клиенту и обратно на сервер) через определенные промежутки времени, чтобы подтвердить, что клиент все еще активен.
Например, если у вас есть приложение Node.js, обслуживающее чат-комнату, и пользователь не говорит ничего в течение многих минут, невозможно определить, действительно ли они все еще подключены. Посылая сердечный ритм с заданным интервалом (скажем, каждые 15 секунд), клиент сообщает серверу, что он все еще там. Если это было, например, Через 20 секунд после получения сервером пульса от клиента он, вероятно, был отключен.
Это необходимо, потому что вам не может быть гарантировано чистое завершение соединения по TCP - если произойдет сбой клиента или произойдет что-то еще, вы не получите пакеты завершения от клиента и сервера не будет знать, что клиент отключился. Кроме того, Socket.IO поддерживает различные другие механизмы (кроме сокетов TCP) для передачи данных, и в этих случаях клиент не будет (или не может) отправлять сообщение завершения на сервер.
По умолчанию клиент Socket.IO отправляет сердцебиение на сервер каждые 15 секунд ( интервал сердцебиения ), а если сервер не получал от клиента ответ в течение 20 секунд () Тайм-аут сердцебиения ) клиент будет отключен.
Я не могу вспомнить многих средних случаев использования, когда вы, вероятно, не хотели бы использовать сердцебиение.