Chat requires persistent real-time connection.
WebSocket setup:
const ws = new WebSocket('wss://chat.example.com');
ws.onmessage = (event) => {
const message = JSON.parse(event.data);
switch (message.type) {
case 'NEW_MESSAGE':
dispatch(addMessage(message.payload));
break;
case 'TYPING':
dispatch(setTyping(message.payload));
break;
}
};
Reconnection: Handle disconnects gracefully. Exponential backoff for reconnection attempts.
Heartbeat: Send pings to detect dead connections.