Websocket Connection Stream
Thin stream wrapper around a websocket connection. Compatible with ws connection instances and native browser WebSocket connections.
The module will enqueue incoming data until the provided underlying websocket is open.
Error handling and life cycle management in general (creating, closing,
reconnecting etc) for the connection are not handled by the module, and should
instead be handled by the user. The main exception to this is that the module
will listen to the provided socket's open
event and enqueue messages until a
closed socket is opened.
This for instance enables the possibility to reconnect an unintentionally lost connection to a server, by attaching a new websocket, without automatically ending the stream and disrupting any stream plumbing down the line.
Install
npm install websocket-connection-stream
Usage
- Create a websocket connection stream and attach a websocket connection to the stream.
- Do some stream plumbing.
- Handle life cycle events outside the websocket connection stream.
websocketConnectionStream()
Module exports a factory function that returns a websocket connection stream instance, which is a duplex stream.
websocketConnectionStreamInstance.attach(websocketConnection)
Attaches a websocket connection to the stream. Returns the websocket connection stream instance.
websocketConnectionStreamInstance.socket
Property that holds the underlying websocket connection.
Examples
Browserify)
In browser (usingvar ws = 'ws://ws.example.org'; var wsStream = ; ; ws;
ws module)
In Node (using thevar WebSocketServer = Server;var wss = port: 8080 ; wss;
Test
Run unit tests:
npm test