Офлайн-поведение
Буферизованные события
По умолчанию любое событие, выпущенное, когда сокет не подключен, будет буферизовано до повторного подключения.
Хотя это полезно в большинстве случаев (когда задержка повторного подключения небольшая), это может привести к резкому скачку событий при восстановлении подключения.
Существует несколько решений для предотвращения этого поведения в зависимости от вашего случая использования:
- используйте атрибут connected экземпляра сокета
if (socket.connected) {
socket.emit( /* ... */ );
} else {
// ...
}
- используйте летучие события
socket.volatile.emit( /* ... */ );
© 2014–2021 Automattic
Licensed under the MIT License.
https://socket.io/docs/v4/client-offline-behavior