DeveloperBreeze

Persistent Connection Development Tutorials, Guides & Insights

Unlock 1+ expert-curated persistent connection tutorials, real-world code snippets, and modern dev strategies. From fundamentals to advanced topics, boost your persistent connection skills on DeveloperBreeze.

Building a Real-Time Chat Application with WebSockets in Node.js

Tutorial August 03, 2024
javascript css html

const express = require('express');
const http = require('http');
const socketIo = require('socket.io');

const app = express();
const server = http.createServer(app);
const io = socketIo(server);

app.use(express.static('public'));

io.on('connection', (socket) => {
    console.log('A user connected');

    socket.on('chatMessage', (msg) => {
        io.emit('chatMessage', msg);
    });

    socket.on('disconnect', () => {
        console.log('User disconnected');
    });
});

const PORT = process.env.PORT || 3000;
server.listen(PORT, () => console.log(`Server running on port ${PORT}`));
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Real-Time Chat</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="chat-container">
        <ul id="messages"></ul>
        <form id="chat-form">
            <input id="message" autocomplete="off" placeholder="Type a message" />
            <button type="submit">Send</button>
        </form>
    </div>
    <script src="/socket.io/socket.io.js"></script>
    <script src="main.js"></script>
</body>
</html>