WebSocket Real-Time Communication
Build real-time applications with WebSocket and Socket.io.
What Is WebSocket?
WebSocket enables persistent bidirectional communication. Perfect for chat apps, notifications, live updates, and games.
Socket.io Server
const io = require('socket.io')(server);
io.on('connection', (socket) => {
console.log('User connected:', socket.id);
socket.on('chat message', (msg) => {
io.emit('chat message', msg); // Broadcast to all
});
socket.on('disconnect', () => {
console.log('User disconnected');
});
});
Socket.io Client
import { io } from 'socket.io-client';
const socket = io('http://localhost:3000');
socket.on('connect', () => {
console.log('Connected!');
});
socket.emit('chat message', 'Hello!');
socket.on('chat message', (msg) => {
displayMessage(msg);
});
Rooms for Groups
// Join a room
socket.join('room-123');
// Send to room only
io.to('room-123').emit('message', 'Room message');
// Leave room
socket.leave('room-123');
Conclusion
Socket.io simplifies real-time development significantly. Consider alternatives like Pusher for managed solutions.