express-socket

const path = require('path); const constants = require(path.join(__dirname, 'constants'))

Usage no npm install needed!

<script type="module">
  import expressSocket from 'https://cdn.skypack.dev/express-socket';
</script>

README

Express Socket (TLS / TCP)

Server

const path = require('path);
const constants = require(path.join(__dirname, 'constants'))

const ExpressSocket = require('express-socket/api');

const socket = new ExpressSocket();

const networkHost = 'localhost';
const retryTimeInMS = 1500;

const serverPubKey = path.join(__dirname, 'server.pub');
const serverKey = path.join(__dirname, 'private/server.key');
const param = path.join(__dirname, 'dhparam.pem');
const requestCert = true;
const rejectUnauthorized = true;
const requestCert = true;

const clientPubs = [];

// Create client pub here

clientPubs.push(client.pub);

const config = {
    retry: retryTimeInMS,
    networkHost: networkHost
    tls: {
        public: serverPubKey,
        private: serverKey,
        dhparam: param,
        requestCert: requestCert,
        rejectUnauthorized: rejectUnauthorized,
        trustedConnections: clientPubs
    }
};

socket.setConfig(config)

socket.queue('onSomeEvent_One', (data)  = > {
    console.log(data)
    socket.send('someOtherEvent_Four', {
        some: "Data"
    })
})

socket.queue('onSomeEvent_Two', (data)  = > {
    console.log(data)
    socket.send('someOtherEvent_Five', {
        some: "Data"
    })
})

socket.queue('onSomeEvent_Three', (data)  = > {
    console.log(data)
    socket.send('someOtherEvent_Six', {
        some: "Data"
    })
})

socket.serve('channel_name', function() {

    // Only able to send data in here

    socket.send('someOtherEvent_Six', {
        some: "Data"
    })
});

Client

const ExpressSocket = require('express-socket/web');

const socket = new ExpressSocket();

const clientPub = path.join(__dirname, 'client.pub');
const clientKey = path.join(__dirname, 'client.key');
const retryTimeInMS = 1500;
const networkHost = 'localhost';
const rejectUnauthorized = true;
const serverPubs = [];

// add server pub here

serverPubs.push(server.pub);

socket.setConfig({
    retry: retryTimeInMS,
    networkHost: networkHost
    tls: {
        public: clientPub,
        private: clientKey,
        rejectUnauthorized: rejectUnauthorized,
        trustedConnections: serverPubs
    }
})

socket.queue('onSomeEvent_One', (data)  = > {
    console.log(data)
    socket.send('someOtherEvent_Four', {
        some: "Data"
    })
})

socket.queue('onSomeEvent_Two', (data)  = > {
    console.log(data)
    socket.send('someOtherEvent_Five', {
        some: "Data"
    })
})

socket.queue('onSomeEvent_Three', (data)  = > {
    console.log(data)
    socket.send('someOtherEvent_Six', {
        some: "Data"
    })
})

socket.connect('channel_name', function() {

    // Only able to send data in here

    socket.send('someOtherEvent_Six', {
        some: "Data"
    })
});