diff --git a/prodServer.ts b/prodServer.ts index 215b1ed..b769c8a 100644 --- a/prodServer.ts +++ b/prodServer.ts @@ -8,9 +8,17 @@ const server = createServer(app); const io = new Server(server); io.on('connection', (socket) => { + // Runs on client connect console.log(`[ws:kit] client connected (${socket.id})`); - io!.emit('message', `Hello from SvelteKit ${new Date().toLocaleString()} (${socket.id})`); + io!.emit('message', `[ws] Hello from SvelteKit ${new Date().toLocaleString()} (${socket.id})`); + // Runs on message receive + socket.on('message', (msg) => { + console.log(`[ws:kit] message from ${socket.id}: ${msg}`); + io!.emit('message', `[${socket.id}] ${msg}`); + }); + + // Runs on client disconnect socket.on('disconnect', () => { io!.emit('message', `client disconnected (${socket.id})`); console.log(`[ws:kit] client disconnected (${socket.id})`); diff --git a/src/lib/websocketConfig.ts b/src/lib/websocketConfig.ts index c8e2583..8e8176a 100644 --- a/src/lib/websocketConfig.ts +++ b/src/lib/websocketConfig.ts @@ -7,10 +7,19 @@ export function startupSocketIOServer(httpServer: HttpServer | null) { if (io) return; console.log('[ws:kit] setup'); io = new SocketIOServer(httpServer); - io.on('connection', (socket) => { - console.log(`[ws:kit] client connected (${socket.id})`); - io!.emit('message', `Hello from SvelteKit ${new Date().toLocaleString()} (${socket.id})`); + io.on('connection', (socket) => { + // Runs on client connect + console.log(`[ws:kit] client connected (${socket.id})`); + io!.emit('message', `[ws] Hello from SvelteKit ${new Date().toLocaleString()} (${socket.id})`); + + // Runs on message receive + socket.on('message', (msg) => { + console.log(`[ws:kit] message from ${socket.id}: ${msg}`); + io!.emit('message', `[${socket.id}] ${msg}`); + }); + + // Runs on client disconnect socket.on('disconnect', () => { io!.emit('message', `client disconnected (${socket.id})`); console.log(`[ws:kit] client disconnected (${socket.id})`); diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 611d013..6d24463 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,8 +1,10 @@ -
+

# SvelteKit with Socket.IO Integration

- - - +
+ + +
+