Web socket servers
INFO
Although web sockets aren't specific to Express, this part of the docs focuses heavily on servers, so we felt these notes belonged here.
Creating a web socket server
To create a web socket server, we first install the ws library:
bash
npm install wsThen, in app.js we import and use the WebSocketServer class from ws.
js
import { WebSocketServer } from 'ws'
const server = new WebSocketServer({ port: 5001 })Listening for connections
It is very simple to listen for new connections.
js
import { WebSocketServer } from 'ws'
const server = new WebSocketServer({ port: 5001 })
server.on('connection', (socket) => {
// do what we want with the socket
})When the 'connection' event is emitted, we are passed a web socket, which we can call whatever we want (here, we used socket).
Listening for socket events
Now we have a socket, we can handle new messages which arrive from the client.
js
import { WebSocketServer } from 'ws'
const server = new WebSocketServer({ port: 5001 })
server.on('connection', socket => {
socket.on('message', handleMessage)
socket.on('close', cleanUp)
})Sending a message back
At any time we choose, we can send a message back to the client simply using the .send method:
js
socket.send('Hello from the server!')The client will immediately have access to the message, provided it hasn't closed the connection.
Corndel