Isomorphic implementation of WebSocket.
It uses:
- ws on Node
- global.WebSocket in browsers
Before using this module you should know that
ws
is not perfectly API compatible with
WebSocket,
you should always test your code against both Node and browsers.
Some major differences:
- no
Server
implementation in browsers - no support for the constructor
options
argument in browsers
You need to install both this package and ws:
> npm i isomorphic-ws ws
Then just require this package:
const WebSocket = require('isomorphic-ws');
const ws = new WebSocket('wss:https://websocket-echo.com/');
ws.onopen = function open() {
console.log('connected');
ws.send(Date.now());
};
ws.onclose = function close() {
console.log('disconnected');
};
ws.onmessage = function incoming(data) {
console.log(`Roundtrip time: ${Date.now() - data.data} ms`);
setTimeout(function timeout() {
ws.send(Date.now());
}, 500);
};