It's super easy, super thin client package for event systems in WebSockets to work with simple-websockets-server
(inspired by socket.io but with no bloat).
import { SimpleWebSocket } from 'simple-websockets';
const socket = new SimpleWebSocket("ws://localhost:123");
socket._socket // Instance of native WebSocket in browser, or ws in node
socket.on("event name", (arg1, arg2, arg3) => {
// Listen for custom event from server
});
socket.send("event name to send to server", 1, 2, 3, "fourth argument");
import { SimpleWebSocket } from 'simple-websockets';
const webSocket = new WebSocket("ws://localhost:123");
const socket = new SimpleWebSocket(webSocket);
import { SimpleWebSocket } from 'simple-websockets';
import WebSocket from 'ws';
const webSocket = new WebSocket("ws://localhost:123");
const socket = new SimpleWebSocket(webSocket);
To constructor you can pass the same options as for ws
(node) or WebSocket
(browser) or the sockets themselves.
socket.send
sends to server stringified JSON object
{
eventName: "event name is the first argument",
values: []
}
where values
is the array of arguments after first argument of send
method.
socket.on
listens for incoming data that fits the scheme and calls listener.
You can send events without values.
Event name must be non-empty string.
By default socket calls connection
and disconnect
events on its own (without any arguments)
This package is for now considered feature-complete - probably will not add any features, only bugfixes.