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"
})
});