Skip to content

Latest commit

 

History

History
26 lines (17 loc) · 1.04 KB

BACKGROUND.md

File metadata and controls

26 lines (17 loc) · 1.04 KB

Background

WebSockets are great, but using them in real-world applications requires handling cases where:

  • The WebSocket connection can close unexpectedly, such as when losing Internet access for a brief period of time.

  • You want to send messages to the WebSocket connection, but if the connection is closed then the messages will not be received by the server.

  • The messages that would be sent from the client to the server get lost when the user refreshes the page in the browser.

To handle these cases, you will have to write some JavaScript that essentially wraps access to the WebSocket protocol and handles those cases.

Sarus is a library designed to do exactly that. It has the following features:

  • Handle reconnecting a WebSocket connection if it closes unexpectedly.

  • Make sure event listeners that were attached to the origin WebSocket instance are attached to subsequent WebSocket instances.

  • Record messages to deliver if the WebSocket connection is closed, and deliver them once there is an open WebSocket connection.