Wrappered uWebSockets with the Node Streams API.
Support node version >= 4.
$ npm install uws-stream --save
This module works in Node or in Browsers that support WebSockets. you can use browserify
or webpack
to package this module for browser use.
const WebSocketStream = require('uws-stream');
const stream = WebSocketStream('ws://echo.websocket.org');
stream.on('data', (chunk) => {
console.log('Your\'s input: ', chunk.toString());
});
stream.on('error', (error) => {
console.log('error', error);
});
process.stdin.pipe(stream);
-
Create an new server.
const http = require('http'); const WebSocketStream = require('uws-stream'); WebSocketStream.createServer({ port: 8443 }, (stream, req) => { stream.pipe(stream); });
-
Attach an exists server.
const http = require('http'); const WebSocketStream = require('uws-stream'); const server = http.createServer(); WebSocketStream.createServer({ server: server }, (stream, req) => { stream.pipe(stream); });
The available options differs depending on if you use this module in the browser or with node.js. Options can be passed in as the third or second argument - WebSocket(address, [protocols], [options])
.
How much to allow the socket.bufferedAmount to grow before starting to throttle writes. This option has no effect in node.js.
Default: 1024 * 512
(512KiB)
How long to wait before checking if the socket buffer has drained sufficently for another write. This option has no effect in node.js.
Default: 1000
(1 second)
Send each chunk on its own, and do not try to pack them in a single websocket frame.
Default: false
We recommend disabling the per message deflate extension to achieve the best throughput.
Default: true
on the client, false
on the server.
Example:
var WebSocketStream = require('uws-stream')
var ws = WebSocketStream('ws://realtimecats.com', {
perMessageDeflate: false
})
Beware that this option is ignored by browser clients. To make sure that permessage-deflate is never used, disable it on the server.
When used in node.js see the uws documentation
$ npm test
-
fork.
-
install dependencies.
$ npm install
-
run command.
$ gulp