Long thăm dò là gì?
Một biến thể của kỹ thuật thăm dò truyền thống và cho phép mô phỏng một thông tin đẩy từ máy chủ đến máy khách. Với cuộc thăm dò dài, máy khách yêu cầu thông tin từ máy chủ theo cách tương tự như một cuộc thăm dò thông thường.
- Nếu máy chủ không có bất kỳ thông tin nào cho máy khách, thay vì gửi một phản hồi trống, máy chủ giữ yêu cầu và đợi một số thông tin có sẵn.
Khi thông tin có sẵn (hoặc sau một khoảng thời gian chờ thích hợp), một phản hồi hoàn chỉnh sẽ được gửi đến khách hàng. Sau đó, máy khách thường sẽ ngay lập tức yêu cầu lại thông tin từ máy chủ, do đó máy chủ hầu như luôn có một yêu cầu chờ sẵn có mà nó có thể sử dụng để cung cấp dữ liệu đáp ứng một sự kiện.
Trong ngữ cảnh web / AJAX, bỏ phiếu dài còn được gọi là lập trình Comet.
Còn về Websockets?
WebSockets cung cấp kết nối liên tục giữa máy khách và máy chủ mà cả hai bên có thể sử dụng để bắt đầu gửi dữ liệu bất kỳ lúc nào.
- Máy khách thiết lập kết nối WebSocket thông qua một quá trình được gọi là bắt tay WebSocket. Quá trình này bắt đầu với việc máy khách gửi một yêu cầu HTTP thông thường đến máy chủ.
- Tiêu đề Nâng cấp được bao gồm trong yêu cầu này để thông báo cho máy chủ rằng máy khách muốn thiết lập kết nối WebSocket.
Kết luận :
Nếu có nhu cầu giao tiếp Thời gian thực, bạn rất có thể lựa chọn websockets.
Nhưng trong Long Polling:
Một kết nối được giữ mở giữa máy khách web và máy chủ web để khi máy chủ có thông tin mới, nó có thể đẩy nó đến máy khách. Yêu cầu đó sau đó đã hoàn thành. Một yêu cầu mới sau đó được thực hiện giữa máy khách và máy chủ và sau đó đợi một bản cập nhật khác từ máy chủ. Kết nối TCP giống nhau thường được mở liên tục trong suốt nhiều yêu cầu do các bí danh HTTP / 1.1.
Tài liệu tham khảo và các cân nhắc khác:
PubNub long polling vs socket - thời lượng pin di động
Long-Polling, Websockets, Server-Sent Events (SSE) và Comet là gì?
bỏ phiếu dài trong mục tiêu-C
Giới thiệu Websocket
Websocket Vs Long Polling
Sử dụng Websockets trong ứng dụng
Ứng dụng Websocket
PushTechnology-Long Polling