quick-tcp-socket

1.0.0 • Public • Published

Simple wrapper for net.Socket to send/receive JSON objects and Buffer streams.
Made as much faster alternative to socket.io + socket.io-stream

Install

$ npm install quick-tcp-socket

Use example

 
const {
  TcpSocket, ReadBufferStream, WriteBufferStream 
= require('quick-tcp-socket');
 
//
// Client
//
let clientSocket = net.connect(port, host, () => {
  client = new TcpSocket(false, clientSocket);
 
  client.sendPacket("getData1", {
    param1: 1,
  });
  client.once("setData1", (data) => {
    // data == {a: 1, b: 2}
  });
 
  client.on('close', () => { //disconnected });
  client.on('error', (err) => { console.error(err); });
 
  let readStream = fs.createReadStream("file.txt");
  client.sendPacketAndStreams("setStream1", {size: 100}, readStream);
});
 
 
//
// Server
//
net.createServer({}, (clientSocket) => {
  let client = new TcpSocket(true, clientSocket);
 
  client.on('getData1', (params) => {
    // params.param1 == 1
    client.sendPacket('setData1', {
      a: 1, b: 2
    });
  });
 
  client.on("setStream1", (data) => {
    // data.size == 100
    let writeStream = fs.createWriteStream("file.txt");
    client.receiveStreams([writeStream], () => {
      //stream received
    });
  });
 
  client.on('close', () => { //client disconnected });
  client.on('error', (err) => { console.error(err); });
});

API

todo...

Readme

Keywords

Package Sidebar

Install

npm i quick-tcp-socket

Weekly Downloads

0

Version

1.0.0

License

MIT

Last publish

Collaborators

  • ukrbublik