ws-binary

1.0.3 • Public • Published

ws-binary

WS Binary is the simple way to send and receive binary data between browser and node

Install module

npm install ws-binary --save

Require module

Browser

<script src="./node_modules/ws-binary/dist/ws-binary-browser.min.js"></script>

Server

const wsBinary = require('ws-binary');

Example

Browser

var ws = new WebSocket('ws://localhost:5000');
 
ws.binaryType = 'arraybuffer';
 
var clientPacketID = {
    ping: 1
};
 
var serverPacketID = {
    pong: 1
};
 
var pkg = new Package();
 
ws.onmessage = function(res) {
    pkg.setData(res.data);
 
    var packageID = pkg.getPackageID();
 
    dictionaryClient[packageID]();
};
 
var dictionaryClient = {};
dictionaryClient[clientPacketID.ping] = ping;
 
function ping() {
    console.log("PING");
 
    pkg.setPackageID(serverPacketID.pong);
    ws.send(pkg.dataSend());
}

Server

const WebSocketServer = require('ws').Server,
    ws = new WebSocketServer({
        port: 5000
    }),
    wsBinary = require('ws-binary');
 
const pkg = new wsBinary();
 
var clientPacketID = {
    ping: 1
};
 
var serverPacketID = {
    pong: 1
};
 
ws.on('connection', function(ws) {
    pkg.setPackageID(clientPacketID.ping);
    ws.send(pkg.dataSend());
 
    ws.on('message', function(res) {
        pkg.setData(res);
        var packageID = pkg.getPackageID();
        
        dictionaryServer[packageID](ws);
    });
});
 
var dictionaryServer = {};
dictionaryServer[serverPacketID.pong] = pong;
 
function pong(ws) {
    console.log("PONG");
}

Functions

  • setData(data)
  • getPackageID()
  • setPackageID(packageID)
  • writeByte(numByte)
  • writeShort(numShort)
  • writeInt(numInt)
  • writeFloat(numFloat)
  • writeDouble(numDouble)
  • writeString(dataString)
  • getByte()
  • getShort()
  • getInt()
  • getFloat()
  • getDouble()
  • getString()
  • dataSend()

Readme

Keywords

none

Package Sidebar

Install

npm i ws-binary

Weekly Downloads

1

Version

1.0.3

License

ISC

Last publish

Collaborators

  • dcatanzaro