Package Exports
- websocket-stream
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (websocket-stream) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
websocket-stream
npm install websocket-streamuse HTML5 websockets the node way -- with streams
in the browser
you can use browserify to package this module for browser use.
var websocket = require('websocket-stream')
var ws = websocket('ws://realtimecats.com')
ws.pipe(somewhereAwesome)ws is a stream and speaks stream events: data, error and end. that means you can pipe output to anything that accepts streams. you can also pipe data into streams (such as a webcam feed or audio data)
on the server
using the ws module you can make a websocket server and use this module to get websocket streams on the server:
var WebSocketServer = require('ws').Server
var websocket = require('websocket-stream')
var wss = new WebSocketServer({server: someHTTPServer})
wss.on('connection', function(ws) {
var stream = websocket(ws)
fs.createReadStream('bigdata.json').pipe(stream)
})options
pass in options as the second argument like this:
websocketStream('ws://foobar', { binaryType: 'blob' })possible options are...
{
protocol: // optional, string, specify websocket protocol
binaryType: // optional, string, defaults to 'arraybuffer', can also be 'blob'
}binary sockets
To send binary data just write a Buffer or TypedArray to the stream.
On the other end you will receive Buffer instances if it's the server and ArrayBuffer instances if it's the client. The client will default to ArrayBuffer objects but can also be configured to receive Blobs.
If you write binary data to a websocket on the server, the client will receive binary objects. Same thing goes for strings.
license
BSD LICENSE