Приложение 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. Вы можете продолжать расширять и настраивать это приложение, чтобы создавать различные интересные функции!