1.0.3 • Published 1 year ago

iiws v1.0.3

Weekly downloads
-
License
MPL-2.0
Repository
github
Last release
1 year ago

iiws

A Websocket Server frame for node that is cleaner, easier, more essential and better for learning.

Get started

const http = require("http");
const WSS = require('iiws');

const httpServer = http.createServer();
httpServer.listen(500);

const ws = new WSS(httpServer);
ws.on("connect", (cli)=> {

  console.log("a client connected")
  ws.broadcast("Hello! every client!"); // broadcast to all online client
  cli.send("Welcome, a user"); // just send message to one user
  cli.ping(); // send ping message
  console.log(ws.clients); // [cli1, cli2, cli3...] get all online clients array

  cli.on("message", (data)=> {

    console.log(data); // you can get messages from the browser

  });

  cli.on("close", ()=> {

    console.log("a client closed");

  });

  cli.on("error", (err)=> {

    console.log(err.message);

  });

});

Websocket basic rules

Handshakes

Frame format

opcode

opcodeconception
0x0means a fragment
0x1means a TEXT frame
0x2a BINARY frame
0x3->7reserved code
0x8means disconnecting
0x9means a ping operation
0xAmeans a pong operation
0xB->Freserved code

How to build a websocket server with native nodejs

There is detailed explaination, it's friendly to learn the theory of WebSocket.

See ws.js