2013-06-24 61 views

Trả lời

24

Vâng, một trong những ổ cắm web chính (thông qua socket.io) cung cấp thiếu ajax là đẩy máy chủ. Vì vậy, với ajax nếu bạn muốn tìm hiểu về các sự kiện mới trên máy chủ (một người dùng khác đã gửi cho bạn một tin nhắn, ví dụ), bạn cần phải thực hiện kiểm tra máy chủ, có nghĩa là bạn gửi yêu cầu ajax trong một vòng lặp định kỳ tương đối thường xuyên. Hầu hết thời gian máy chủ trả lời rằng không có gì mới, nhưng đôi khi khi có một cái gì đó mới, khách hàng có thể tìm hiểu về nó.

Ổ cắm web cho phép máy chủ chủ động đẩy thông báo cho khách hàng mà không cần bỏ phiếu. Vì vậy, nếu ứng dụng của bạn có bất kỳ loại thông tin nào cần bắt đầu trên máy chủ và chỉ hiển thị trong trình duyệt, các ổ cắm web là một giải pháp tốt hơn ở đó.

  • Nộp dữ liệu đến máy chủ trong mô hình request/response
    • ajax hoặc web socket về cơ bản tương đương, hình thức POSTS truyền thống cũng OK
  • Nộp sự kiện đến máy chủ trong một mô hình dòng sự kiện
    • ổ cắm web tốt nhất, có thể được mô phỏng qua ajax hơi
  • Sự kiện đẩy từ máy chủ đến trình duyệt
    • Ổ cắm web tốt nhất, có thể được mô phỏng thông qua bỏ phiếu dài ajax, flash, v.v. (socket.io có một số nhược điểm mà nó có thể sử dụng nếu không có ổ cắm web thực).
  • trình duyệt cũ, một số nền tảng di động
    • hỗ trợ ổ cắm web là không có, vì vậy ajax là dự phòng của bạn
+0

Cảm ơn bạn đã trả lời nhanh chóng. Vì vậy, trừ khi bạn có lý do chính đáng để làm khác, hãy sử dụng các ổ cắm web để giao tiếp hoạt động. Ổ cắm web có bất kỳ nhược điểm nào không? –

+0

Hỗ trợ trình duyệt cho các ổ cắm web chưa hoàn chỉnh như đối với ajax, đặc biệt là trên thiết bị di động. Giống như tất cả các công nghệ mới, các công cụ và kiến ​​thức cộng đồng xung quanh chúng không phải là trưởng thành vì nó dành cho ajax. Ngoài ra, có thể có những thách thức triển khai với proxy và máy chủ web yêu cầu cấu hình cụ thể trước khi ổ cắm web hoạt động. –

+0

@PeterLyons Vì vậy, nếu tôi đang tạo một hệ thống thông báo thì ổ cắm web là tốt nhất, phải không? –

Các vấn đề liên quan