Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    blacksocket.iopublic

    blacksocket.io

    A websocket wrapper. Basically compatiable with socket.io.

    Travis NPM version Coverage Status Gzip Size dependencies Status contributors GitHub license

    • Lightweight
    • Callback
    • Auto reconnection
    • Object sending
    • Binary sending (even in object) (even in callback)
    • Once
    • Promise

    Install

    Server

    npm i -S blacksocket.io

    Client

    Install with npm
    npm i -S blacksocket.io
    Use script file directly

    Just for testing

    <script src="https://raw.githubusercontent.com/blackmiaool/blacksocket.io/master/client/blacksocket.min.js"></script>

    Usage

    I have no time for writing a whole documentation for it. If you want to use it, I personally recommend you to read the test/test.js file to get all the demos.

    Server

    // initialize with port and path
    const io = require('blacksocket.io/server')(23033, {
        path: '/test'
    });
    io.on('connection', function (socket) {
        console.log('socket connection');
        // listen client event
        socket.on('client-event', function (params, cb) {
            console.log('client-event', params);
            cb({ a: "it's an object" });
        });
        setInterval(() => {
            // send event to client
            socket.emit('server-event', { a: 'server params' }, function (params) {
                // receive a callback
                console.log('server-event cb', params);
            });
        }, 3000);
    });

    Client (nodejs or browser)

    const io = require("blacksocket.io/client");
    // initialize with port and path
    const socket = io(`:23033/test`);
     
    // first-connect: triggered on first connection 
    // connect: triggered on every successful connection(including reconnection)
    // reconnection event: triggered on reconnection
    socket.on('first-connect', function () {
        console.log('connected');
        setInterval(() => {
            // send event to server
            socket.emit('client-event', { a: 'client params' }, function (cbParams) {
                // receive a callback
                console.log('client-event cb', cbParams);
            });
        }, 1000);
    });
     
    socket.on('server-event', function (params, cb) {
        console.log('server-event', params);
        // invoke the callback to return some data to server
        cb({ a: "server-event cb" });
    });

    Keywords

    none

    install

    npm i blacksocket.io

    Downloadsweekly downloads

    3

    version

    1.0.54

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar