Skip to content

ZAUB1/ZSockets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ZSockets

ZSockets is a fully standalone socket library allowing both TCP and Websocket protocol.

How to use

ZSockets is fairly simple to use, here are few examples on the way to use it :

Installation

# Installs the lib
$ npm install zsockets

Server example

Sample code:

const Socket = require("zsockets");
const port = 500;

const Server = new Socket.Server(port, () => { //Creates the server
    console.log("Server listening on port", port); //Callback when server is running
});

Server.OnInternal("connection", (c) => { //Triggered when a client connects
    console.log("New client connected:", c.ip);

    setTimeout(() => {
	c.Emit("testevent", {}); //Trigger an event on this specific client
    }, 500);

    c.On("testbackclient", () => { //Event triggered from this client to the server
	console.log("Back from specific client");
    });
});

setInterval(() => {
   Server.EmitToAll("testall", {}); //Event triggered on all clients
}, 1000);

Websocket server example

const Socket = require("zsockets");

const WSS = new Socket.WebSocketServer(8080, () => {
    console.log("Listening on port 8080");
});

WSS.OnInternal("connection", (c) => {
    c.Emit("blblbl");

    c.On("test", () => {
        console.log("Back from client");
    });
});

Client example

Sample code:

const Socket = require("zsockets");
const Client = new Socket.Client("127.0.0.1", 500); //Connecting to the server

Client.On("testevent", () => { //Event triggered from server
    console.log("It works UwU");

    Client.Emit("testbackclient", {}) //Trigger event on server
});

//Event triggered from server (in this case the server is triggering on all clients)
Client.On("testall", () => {
    console.log("All clients yay !");
});

Web Client

=> https://github.com/ZAUB1/zsockets-webclient

Documentation

Table of Contents

Server

new Socket.Server(port[, callback])

  • port (int) The port on which the clients will connect to the server.
  • callback (function)

Server.OnInternal(event[, callback])

  • event (string) The internal event name to listen to

    • "connection": Triggered when a new client connects
      • Callback contains client (Object)
    • "disconnected": Triggered when a client disconnects
      • Callback contains client (Object)
    • "error": Triggered when the server occurs an error
      • Callback contains error (Object)
    • "cerror": Triggered when one of the clients occurs an error
      • Callback contains error (Object)
  • callback (function)

Server.EmitToAll(event[, object])

  • event (string) Event name to trigger on all clients connected
  • object (Object)

Websocket server

new Socket.WebSocketServer(port[, callback])

  • port (int) The port on which the clients will connect to the server.
  • callback (function)

WebSocketServer.OnInternal(event[, callback])

  • event (string) The internal event name to listen to
    • "connection": Triggered when a new client connects
      • Callback contains client (Object)
    • "disconnected": Triggered when a client disconnects
      • Callback contains client (Object)

Server.EmitToAll(event[, object])

  • event (string) Event name to trigger on all clients connected
  • object (Object)

Client object (server side, both TCP & WebSocket)

Client.On(event[, callback])

  • event (string) The server event name to listen for client trigger
  • callback (function)

Client.Emit(event[, object])

  • event (string) Event name to trigger on client
  • object (Object)

Client.ip (string)

Contains the client ip.

Client.id (int)

Contains the client unique id.

Client

new Socket.Client(ip, port)

  • ip (string) The ip of the server
  • port (int) The port of the server

Client.On(event[, callback])

  • event (string) The client event name to listen for server trigger
    • "connect": Triggered when connected to server
    • "disconnect": Triggered when disconnected from server
  • callback (function)

Client.Emit(event[, object])

  • event (string) Event name to trigger on server
  • object (Object)

About

ZSockets is a fully standalone socket library allowing both TCP and Websocket protocol in NodeJS.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published