Phát sóng và Tích hợp WebSocket trong Node.js

Phát sóng dữ liệu và tích hợp WebSocket là hai khía cạnh quan trọng trong việc xây dựng ứng dụng thời gian thực với Node.js. Trong bài viết này, chúng ta sẽ khám phá cách phát sóng dữ liệu và tích hợp WebSocket để tạo ra trải nghiệm tương tác và đáp ứng cho người dùng.

Bước 1: Phát sóng dữ liệu từ Máy chủ

Để phát sóng dữ liệu từ máy chủ tới các kết nối khách hàng, bạn có thể sử dụng các phương thức như broadcast để gửi thông điệp đến tất cả các kết nối hoặc send để gửi thông điệp đến một kết nối cụ thể. Đây là ví dụ về cách phát sóng dữ liệu từ máy chủ:

// ... Khởi tạo máy chủ WebSocket

// Phát sóng dữ liệu đến tất cả các kết nối
function broadcast(message) {
    for (const client of clients) {
        client.send(message);
    }
}

// Xử lý khi có kết nối mới
server.on('connection', (socket) => {
    // Thêm kết nối vào danh sách
    clients.add(socket);

    // Xử lý khi nhận tin nhắn từ client
    socket.on('message', (message) => {
        // Phát sóng tin nhắn đến tất cả các kết nối khác
        broadcast(message);
    });

    // Xử lý khi kết nối đóng
    socket.on('close', () => {
        // Xóa kết nối khỏi danh sách
        clients.delete(socket);
    });
});

Bước 2: Tích hợp WebSocket trong ứng dụng Node.js

Để tích hợp WebSocket vào ứng dụng Node.js, bạn cần tạo một kết nối WebSocket trong mã JavaScript của bạn. Dưới đây là ví dụ về cách tích hợp WebSocket trong phía máy khách (client) của ứng dụng:

// Khởi tạo kết nối WebSocket từ máy khách
const socket = new WebSocket('ws://localhost:8080');

// Xử lý khi có tin nhắn đến từ máy chủ
socket.onmessage = (event) => {
    const message = event.data;
    // Xử lý thông điệp nhận được từ máy chủ
    console.log('Received message:', message);
};

// Gửi tin nhắn từ máy khách đến máy chủ
function sendMessage() {
    const messageInput = document.getElementById('messageInput');
    const message = messageInput.value;
    socket.send(message);
    messageInput.value = '';
}

 

Kết Luận

Bằng cách phát sóng dữ liệu và tích hợp WebSocket trong Node.js, bạn có thể xây dựng những ứng dụng thời gian thực tương tác và đáp ứng. Việc này giúp cải thiện trải nghiệm người dùng và cho phép các ứng dụng tương tác trong thời gian thực giữa máy khách và máy chủ.