2.3.3.2 Client Integration (React)
// frontend/src/services/socket.js
import { io } from 'socket.io-client';
let socket = null;
export const initChatSocket = (token) => {
socket = io('http://localhost:4000', {
auth: { token }, // If using token-based handshake
transports: ['websocket']
});
socket.on('connect', () => {
console.log('[Chat] Connected:', socket.id);
});
socket.on('chatMessage', (msg) => {
// Dispatch action or update local state
console.log('[Chat] Received:', msg);
});
};
export const joinChannel = (channelName) => {
socket.emit('joinChannel', channelName);
};
export const sendChatMessage = (channelName, content) => {
socket.emit('chatMessage', { channel: channelName, content });
};
export const getSocket = () => socket;
Last updated