A "smart" wrapper for Javascript WebSockets
This repository has been archived on 2025-03-06. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Luca Conte 542dc31578 add SmartWebSocketServer 2024-08-21 19:36:49 +02:00
examples add SmartWebSocketServer 2024-08-21 19:36:49 +02:00
README.md update readme 2024-08-21 17:02:29 +02:00
SmartWebSocket.js add SmartWebSocket.js and documentation 2024-08-21 16:57:49 +02:00
SmartWebSocketServer.js add SmartWebSocketServer 2024-08-21 19:36:49 +02:00

README.md

Smart WebSocket

// constructor(socketAddress, options = [], autoReconnect = true, debugName = null)
// debugName is used for console logs. If omitted socketAddress will be used instead.
let socket = SmartWebSocket("ws://127.0.0.1:8080", [], true, "sock"); 

socket.url = "ws://127.0.0.1:8081";
socket.protocols = [];
socket.debugName = "mySock";

// close if connection is open, then re-open connection
// applies changes to socket.url and socket.protocols
socket.reconnect()

// internal WebSocket element.
console.log(socket.socket);

// is socket connection open
if (socket.isReady()) {

	// sends
	// {"event" : "myEvent", "data" : { "abc" : "def" }}
	// to server
	// data is stringified using JSON before sending
	socket.send("myEvent", { "abc" : "def"});

	// sends
	// abcdef
	// to server. Same as calling socket.send on a regular WebSocket
	socket.sendRaw("abcdef");
}

// is called when a JSON of the kind {"event" : "anotherEvent", "data" : {}} is received
socket.on("anotherEvent", (data) => {
	console.log(data);
});

// same as calling socket.addEventListener("open") on a regular WebSocket
// same behaviour applies to events "close", "error" and "message"
socket.on("open", (event) => {
	console.log(event);
});

// close socket and disable auto-reconnect
socket.close()