Làm thế nào mà các thiết bị máy tính khác nhau có thể giao tiếp với nhau? Trước đây có khá nhiều công cụ hỗ trợ nhưng chúng không có giải pháp nào là hoàn ...

Làm thế nào mà các thiết bị máy tính khác nhau có thể giao tiếp với nhau? Trước đây có khá nhiều công cụ hỗ trợ nhưng chúng không có giải pháp nào là hoàn hảo. Vì thế, các nhà cung cấp đã phát triển ra Socket.IO – một công cụ cho phép thiết lập các giao tiếp hiệu quả và nhanh chóng.

Socket io la gi

Trong bài viết này, Thuvienhoidap.com giúp bạn hiểu thêm Socket.IO là gì?, cách hoạt động của nó như thế nào và khi nào nên sử dụng.

Socket.IO là gì?

Socket.IO là công cụ kết nối mở cho phép máy chủ và máy khách giao tiếp hai chiều với nhau theo thời gian thực. Khi máy chủ có Socket.IO và máy khách có gói Socket.IO trong trình duyệt thì việc liên kết sẽ được thực hiện.

So do su dung socket io

Socket.IO sử dụng Engine.IO để thiết lập kết nối và trao đổi dữ liệu tạo điều kiện cho việc triển khai máy chủ của khách hàng. Engine.IO được sử dụng để triển khai máy chủ và Engine.IO-client được sử dụng cho máy khách. Ngoài ra, Socket.IO còn dựa trên nền tảng Engine.IO để thiết lập kết nối long-polling thông qua xhr-polling và nâng cấp lên phương pháp kết nối tối ưu hơn.

Socket.IO hoạt động như thế nào?

Socket IO hoat dong nhu the nao

Socket.IO sử dụng tính năng giao tiếp hai chiều để phát triển các ứng dụng trò chuyện. Các tin nhắn gửi về máy chủ sẽ được gửi trực tiếp cho máy khách mà không cần bất cứ yêu cầu trung gian nào.

Sử dụng Socket.IO để trò chuyện

Máy chủ

Đầu tiên hãy cài đặt node.js, sau đó sử dụng express để đơn giản hoá thiết lập ứng dụng.

Tạo folder mới với đoạn code sau:

{{EJS0}}

Thiết lập máy chủ và nhập các gói require sau:

{{EJS1}}

Thiết lập một file index.html mà máy chủ gửi về:

{{EJS2}}

Thiết lập một connection điều khiển chức năng của Socket.IO:

{{EJS3}}

Thiết lập cổng 3000 trên máy chủ:

{{EJS4}}

Khởi động ứng dụng.nodeindex.js và mở trang trên trình duyệt.

Máy khách

Thiết lập kết nối socket. IO bằng các lệnh:

{{EJS5}}

Cách nhận tin nhắn qua lại

Máy chủ

Sử dụng hàm io.emit() để gửi tin nhắn từ máy chủ đến máy khách:

{{EJS6}}

Sử dụng socket.broadcast.emit() để gửi tin nhắn cho tất cả mọi người trừ những người đang ở trong trạng thái kết nối.

Hoặc để thêm người nhận cho tin nhắn, sử dụng lệnh sau. Người nhận mới sẽ nhận được những tin nhắn từ lúc bắt đầu được thêm vào:

{{EJS7}}

Máy khách

Sử dụng tệp index.html để hiển thị đầu vào và vùng chứa của tin nhắn:

{{EJS10}}

Tiếp theo hãy bổ sung một số logic vào

BÀI VIẾT MỚI NHẤT