# Web Socket
ExpressWebJS offers a robust WebSocket Provider to serve real-time apps.
The server works on pure WebSocket connections (supported by all major browsers) and scales naturally within a cluster of Node.js processes.
# Basic Example
Let’s build a single room chat server for user messaging.
expresswebcli make-ws-controller chatController
This will generate our chatController class inside App/Http/Controller/Ws Our chatController class looks like this:
"use strict";
const WsBaseController = require("@WsBaseController");
class chatController extends WsBaseController {
constructor(socket) {
super(socket);
this.socket = socket;
}
onMessage(data) {
// same as: socket.on('message')
this.socket.emit("message", data);
console.log(data);
}
close() {
// same as: socket.on('close')
}
onError() {
// same as: socket.on('error')
}
}
module.exports = chatController;
← Routing Event Methods →