WebSocket Real-Time Communication: Building Live Chat

How we built real-time features with WebSockets, Socket.IO, and Redis pub/sub. Live chat, notifications, and collaborative editing.

AJ Patatanian
AJ Patatanian
5 min read
WebSocket Real-Time Communication: Building Live Chat

HTTP is request-response. Client asks, server answers.

WebSocket: Bi-directional. Server pushes updates without client asking.

Use Cases

  • Live chat
  • Real-time notifications
  • Collaborative editing (Google Docs style)
  • Live dashboards (stock prices, analytics)

Socket.IO Implementation

Server (Node.js):

const io = require('socket.io')(server);

io.on('connection', (socket) => {
  console.log('User connected:', socket.id);
  
  socket.on('message', (data) => {
    // Broadcast to all users
    io.emit('message', data);
  });
  
  socket.on('disconnect', () => {
    console.log('User disconnected:', socket.id);
  });
});

Client (React):

import io from 'socket.io-client';

const socket = io('https://api.example.com');

socket.on('message', (data) => {
  setMessages(prev => [...prev, data]);
});

function sendMessage(text) {
  socket.emit('message', { text, user: currentUser });
}

Scaling WebSockets

Problem: 10,000 concurrent connections on 1 server.

Solution: Redis pub/sub for multi-server sync.

const redis = require('redis');
const sub = redis.createClient();
const pub = redis.createClient();

// Server 1 publishes
pub.publish('chat', JSON.stringify({ text: 'Hello' }));

// Server 2 receives
sub.subscribe('chat');
sub.on('message', (channel, message) => {
  io.emit('message', JSON.parse(message));
});

Result: 50,000+ concurrent connections across 5 servers.

Performance Metrics

  • Connection latency: 40ms
  • Message delivery: 15ms
  • 10,000 messages/sec throughput

Want real-time features in your app?
Build with WebSockets

Ready to Build Something?

Let's discuss your next project. Mobile apps, AI integration, or custom development.

Contact Us
AJ Patatanian

Written by AJ Patatanian

Senior full-stack engineer with expertise in React Native, AI/ML, and cloud architecture. Building production apps at SERA Industries.

More articles →