Last updated: 2021-02-21, tested with socket.io v3.1.1
This is the simplest implementation you will find for a client/server WebSockets architecture using socket.io.
To see a full explanation, read my answer on SO here: https://stackoverflow.com/a/24232050/778272.
If you're looking for examples using frameworks, check these links:
Create a folder, run npm init -f
on it and paste both server.js
and client.js
there (see files below). Needless to say, you must have Node.js installed on your system.
Install the required libraries:
npm install socket.io@3.1.1
npm install socket.io-client@3.1.1
Run the server:
node server
Open other terminal windows and spawn as many clients as you want by running:
node client
Do you want to listen on a specific network interface? I believe
listen()
is listening on all interfaces, since the socket.io documentation doesn't offer a way for us to specify an IP address. Have you tried connecting to it via your other interface?