WebSockets - Sự kiện & Hành động
Cần phải khởi tạo kết nối đến máy chủ từ máy khách để giao tiếp giữa chúng. Để khởi tạo kết nối, cần phải tạo đối tượng Javascript với URL với máy chủ từ xa hoặc cục bộ.
var socket = new WebSocket(“ ws://echo.websocket.org ”);
URL được đề cập ở trên là địa chỉ công cộng có thể được sử dụng để kiểm tra và thử nghiệm. Máy chủ websocket.org luôn hoạt động và khi nó nhận được thông báo và gửi lại cho máy khách.
Đây là bước quan trọng nhất để đảm bảo rằng ứng dụng hoạt động chính xác.
Ổ cắm web - Sự kiện
Có bốn API Web Socket chính events -
- Open
- Message
- Close
- Error
Mỗi sự kiện được xử lý bằng cách triển khai các chức năng như onopen, onmessage, onclose và onerrorcác chức năng tương ứng. Nó cũng có thể được thực hiện với sự trợ giúp của phương thức addEventListener.
Tổng quan ngắn gọn về các sự kiện và chức năng được mô tả như sau:
Mở
Khi kết nối đã được thiết lập giữa máy khách và máy chủ, sự kiện mở sẽ được kích hoạt từ phiên bản Web Socket. Nó được gọi là sự bắt tay ban đầu giữa máy khách và máy chủ. Sự kiện, được đưa ra sau khi kết nối được thiết lập, được gọi làonopen.
Thông điệp
Sự kiện thông báo thường xảy ra khi máy chủ gửi một số dữ liệu. Tin nhắn do máy chủ gửi tới máy khách có thể bao gồm tin nhắn văn bản thuần túy, dữ liệu nhị phân hoặc hình ảnh. Bất cứ khi nào dữ liệu được gửi,onmessage chức năng được kích hoạt.
Đóng
Sự kiện đóng đánh dấu sự kết thúc giao tiếp giữa máy chủ và máy khách. Có thể đóng kết nối với sự trợ giúp củaonclosebiến cố. Sau khi đánh dấu kết thúc giao tiếp với sự trợ giúp củaonclosesự kiện, không có thông báo nào có thể được chuyển tiếp giữa máy chủ và máy khách. Việc đóng sự kiện cũng có thể xảy ra do kết nối kém.
lỗi
Dấu lỗi cho một số sai lầm, xảy ra trong quá trình giao tiếp. Nó được đánh dấu với sự giúp đỡ củaonerror biến cố. Onerrorluôn luôn theo sau là chấm dứt kết nối. Mô tả chi tiết của từng sự kiện sẽ được thảo luận trong các chương tiếp theo.
Web Sockets - Hành động
Các sự kiện thường được kích hoạt khi có điều gì đó xảy ra. Mặt khác, các hành động được thực hiện khi người dùng muốn điều gì đó xảy ra. Các hành động được thực hiện bằng các lệnh gọi rõ ràng sử dụng các hàm bởi người dùng.
Giao thức Web Socket hỗ trợ hai hành động chính, đó là -
- gửi ()
- đóng( )
gửi ()
Hành động này thường được ưu tiên cho một số giao tiếp với máy chủ, bao gồm việc gửi tin nhắn, bao gồm tệp văn bản, dữ liệu nhị phân hoặc hình ảnh.
Một tin nhắn trò chuyện, được gửi với sự trợ giúp của hành động send (), như sau:
// get text view and button for submitting the message
var textsend = document.getElementById(“text-view”);
var submitMsg = document.getElementById(“tsend-button”);
//Handling the click event
submitMsg.onclick = function ( ) {
// Send the data
socket.send( textsend.value);
}
Note - Chỉ có thể gửi tin nhắn nếu kết nối được mở.
đóng ( )
Phương pháp này là viết tắt của cái bắt tay tạm biệt. Nó chấm dứt hoàn toàn kết nối và không có dữ liệu nào có thể được chuyển cho đến khi kết nối được thiết lập lại.
var textsend = document.getElementById(“text-view”);
var buttonStop = document.getElementById(“stop-button”);
//Handling the click event
buttonStop.onclick = function ( ) {
// Close the connection if open
if (socket.readyState === WebSocket.OPEN){
socket.close( );
}
}
Cũng có thể cố tình đóng kết nối với sự trợ giúp của đoạn mã sau:
socket.close(1000,”Deliberate Connection”);