1.0.7 • Published 5 years ago

zsockets v1.0.7

Weekly downloads
2
License
ISC
Repository
github
Last release
5 years ago

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)
1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago