Создание базового WebSocket сервера с Node.js

Приложение real-time для чата — отличный пример того, как использовать WebSocket with Node.js для создания интерактивного и увлекательного взаимодействия с пользователем. В этой статье мы рассмотрим, как создать real-time чат-приложение с использованием WebSocket и Node.js.

Шаг 1: Настройка среды

Во-первых, убедитесь, что вы Node.js установили на свой компьютер. Создайте новую папку для своего проекта и перейдите в нее с помощью Terminal или Command Prompt.

Шаг 2: Установка WebSocket библиотеки

Как и прежде, используйте библиотеку «ws» для установки WebSocket библиотеки:

npm install ws

Шаг 3: Создание WebSocket сервера

Создайте файл с именем server.js  и напишите следующий код:

// Import the WebSocket library  
const WebSocket = require('ws');  
  
// Create a WebSocket server  
const server = new WebSocket.Server({ port: 8080 });  
  
// List of connections(clients)  
const clients = new Set();  
  
// Handle new connections  
server.on('connection',(socket) => {  
    console.log('Client connected.');  
  
    // Add connection to the list  
    clients.add(socket);  
  
    // Handle incoming messages from the client  
    socket.on('message',(message) => {  
        // Send the message to all other connections  
        for(const client of clients) {  
            if(client !== socket) {  
                client.send(message);  
            }  
        }  
    });  
  
    // Handle connection close  
    socket.on('close',() => {  
        console.log('Client disconnected.');  
        // Remove the connection from the list  
        clients.delete(socket);  
    });  
});  

Шаг 4: Создание пользовательского интерфейса(клиент)

Создайте файл с именем index.html и напишите следующий код:

<!DOCTYPE html>  
<html>  
<head>  
    <title>Real-Time Chat</title>  
</head>  
<body>  
    <input type="text" id="message" placeholder="Type a message">  
    <button onclick="send()">Send</button>  
    <div id="chat"></div>  
      
    <script>  
        const socket = new WebSocket('ws://localhost:8080');  
        socket.onmessage =(event) => {  
            const chat = document.getElementById('chat');  
            chat.innerHTML += '<p>' + event.data + '</p>';  
        };  
  
        function send() {  
            const messageInput = document.getElementById('message');  
            const message = messageInput.value;  
            socket.send(message);  
            messageInput.value = '';  
        }  
    </script>  
</body>  
</html>  

Шаг 5: Запуск сервера и открытие браузера

В файле Terminal выполните следующую команду, чтобы запустить WebSocket сервер:

node server.js

Откройте веб-браузер и перейдите по адресу « http://localhost:8080 », чтобы использовать real-time приложение чата.

 

Заключение

Поздравляем! Вы успешно создали real-time чат-приложение, используя WebSocket и Node.js. Это приложение позволяет пользователям взаимодействовать и отправлять/получать сообщения в формате real-time. Вы можете продолжать расширять и настраивать это приложение, чтобы создавать различные интересные функции!