Websocket Là Gì? Tìm Hiểu Về Websocket Là Gì?

Kết nối này sẽ được duy trì nhằm giúp cho người sử dụng có thể viết và nhận dữ liệu bằng Javascript giống như khi họ đang sử dụng một TCP socket đơn thuần.

  • Bài viết tạo bởi: | Lượt xem bài viết: 896,703 (View) | Ngày cập nhật nội dung gần nhất: 13-07-2021 12:05:56
  • Ðánh giá: 1 11 21 31 41 5(4 sao 9 đánh giá)


Websocket là gì?


"Websocket" là một tính năng đặc biệt trong HTML5 sử dụng kỹ thuật Reverse Ajax, nó cho phép các kênh giao tiếp chạy song song hai chiều và hiện tại đã được rất nhiều trình duyệt hỗ trợ (Firefox, Google Chrome và Safari).

Khi một Websocket kết nối được mở thông qua HTTP request đó chính là liên kết giữa WebSockets với những header đặc đặc biệt. Kết nối này sẽ được duy trì nhằm giúp cho người sử dụng có thể viết và nhận dữ liệu bằng Javascript giống như khi họ đang sử dụng một TCP socket đơn thuần.
 

Websocket là một công nghệ dùng để hỗ trợ cho việc giao tiếp hai chiều giữa sever và client thông qua việc sử dụng một TCP socket nhằm tạo ra một liên kết hiệu quả mà lại ít tốn kém. Với mục đích ban đầu thiết kế ra chỉ để chuyên sử dụng cho các ứng dụng web, nhưng lập trình viên vẫn có thể sử dụng chúng trong bất kỳ loại ứng dụng nào khác.
 
Với kỹ thuật Ajax, khi một dữ liệu được truyền tải đến thông qua giao thức HTTP sẽ chứa quá nhiều dữ liệu không cần thiết đến trong phần header. Với một header request/reponse của HTTP sau khi đã kết nối sẽ có kích cỡ khoảng 871 byte, trong khi đó đôi với WebSocket kích cỡ này chỉ rơi vào khoảng 2 byte.

 
 

Websocket Là Gì? Tìm Hiểu Về Websocket Là Gì?


Hình 1: Websooket là công cụ giao tiếp
 

so sánh giữa HTTP và websocket

Ví dụ thực tế trường hợp trên đó là khi bạn tạo ra một ứng dụng chơi game có thể sẽ có tới 10,000 lượt truy cập cùng một lúc, và mỗi giây họ sẽ phải gửi và nhận dữ liệu từ sever. Chúng ta cùng so sánh với lượng dữ liệu từ header mà giao thức HTTP và WebSocket trong mỗi giây:
 

Ưu nhược điểm của WebSocket là gì?  

Đầu tiên chúng ta hãy xét đến Ưu điểm khi sử dụng WebSocket là gì?
 
  • Đối với WebSockets việc cung cấp tới khả năng giao tiếp hai chiều rất mạnh mẽ, có độ trẽ thấp cũng như dẽ dàng xử lý khi phát sinh lỗi. Nó khác với phương pháp Comet long-polling cần nhiều kết nối cũng như không có những nhược điểm giống với phương pháp Comet streaming.
  • Với API việc sử dụng trực tiếp rất dễ dàng mà không cần tới bất kỳ các tầng bổ sung nào khác, khác với Comet phải đòi hỏi có một thư viện tốt nhất để có thể xử lý việc kết nối lại cũng như thời gian chờ timeout, các Ajax request, những thông tin báo nhận và nhiều dạng truyền tải tùy trọn khác nhau.
  • Mặc dù có ưu điểm vượt trội về khả năng giao tiếp hai chiều mạnh mẽ, nhưng WebSockets cũng không tránh được những nhược điểm mà nó tạo ra. 

Vậy nhược điểm của WebSocket là gì?

 
  • Nhược điểm đầu tiên đó chính là do WebSocket là một tính năng đặc biệt của HTML5 chính vì thế nó vẫn chưa nhận được sự hỗ trợ của tất cả các trình duyệt.
  • Thứ hai, đó là phạm vi yêu cầu không có. Lý do là bởi vì WebSocket không phải là HTTP request mà nó là TCP socket, chính vì vậy các dịch vụ có phạm vi yêu cầu như SessionInViewFilter của Hibernate sẽ không dễ dàng để sử dụng.

Websocket Là Gì? Tìm Hiểu Về Websocket Là Gì?


Hình 2: Ưu - nhược điểm của WebSocket là gì?
 

Các thuộc tính của WebSocket là gì ?

Thuộc tính websocket

 

Websocket Là Gì? Tìm Hiểu Về Websocket Là Gì?


Hình 3: 
Thuộc tính websocket là gì?
 

Các sự kiện của WebSocket là gì?


Sự kiện websocket

 

Websocket Là Gì? Tìm Hiểu Về Websocket Là Gì?

Hình 4: Sự kiện websocket
 

Các phương thức của WebSocket là gì?


 
Các phương thức của WebSocket
 

Websocket Là Gì? Tìm Hiểu Về Websocket Là Gì?


Hình 5: 
Các phương thức của WebSocket

Kết Luận: Websocket là một công nghệ dùng để hỗ trợ cho việc giao tiếp hai chiều giữa sever và client thông qua việc sử dụng một TCP socket nhằm tạo ra một liên kết hiệu quả mà lại ít tốn kém. Với mục đích ban đầu thiết kế ra chỉ để chuyên sử dụng cho các ứng dụng web, nhưng lập trình viên vẫn có thể sử dụng chúng trong bất kỳ loại ứng dụng nào khác.
 
 

Trân trọng! Cảm ơn bạn đã luôn theo dõi các bài viết trên Website VietAdsGroup.Vn của công ty chúng tôi!

Quay lại danh mục "Hỏi đáp là gì" Quay lại trang chủ




  • VietAds

    "VietAds gửi lời cảm ơn tới quý khách hàng đã luôn tin dùng dịch vụ quảng cáo trực tuyến hiệu quả suốt chặng đường 9 năm vừa qua! - Đăng nhập"

  • CÔNG TY CỔ PHẦN TRỰC TUYẾN VIỆT ADS


Bài viết xem nhiều cùng chuyên mục
Bài viết mới nhất cùng chuyên mục