Spec-Zone.ru › Socket.IO 3

Выключение поведения при отсутствии соединения

Буферизованные события

По умолчанию любое событие, испущенное, когда сокет не подключен, будет буферизовано до повторного подключения.

Хотя это полезно в большинстве случаев (когда задержка повторного подключения короткая), это может привести к большому всплеску событий при восстановлении подключения.

Существует несколько решений для предотвращения этого поведения, в зависимости от вашего случая использования:

  • используйте атрибут connected экземпляра сокета
if (socket.connected) {
  socket.emit( /* ... */ );
} else {
  // ...
}
  • используйте летучие события
socket.volatile.emit( /* ... */ );
  • опустошите внутренний буфер при повторном подключении
socket.on("connect", () => {
  socket.sendBuffer = [];
});

© 2014–2021 Automattic
Licensed under the MIT License.
https://socket.io/docs/v3/client-offline-behavior

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API