Tôi đã di chuyển ra khỏi vùng thoải mái của tôi trong PHP/MySQL vì cú pháp/đóng gói/thủ tục công cụ có thể nhận được bực bội.Có chi phí máy chủ để sử dụng WebSockets không?
Tuần trước, tôi bắt đầu chơi xung quanh và làm theo một số hướng dẫn để sử dụng Node.js/Socket.IO để tạo ứng dụng trò chuyện trực tiếp. Cho đến thời điểm này, tôi chưa bao giờ làm bất cứ điều gì với WebSockets, và họ có vẻ thực sự mát mẻ - giao tiếp tức thời giữa máy chủ và máy khách là tuyệt vời.
Bây giờ, hãy tha thứ cho sự thiếu hiểu biết của tôi ở đây, nhưng HTTP được thiết lập để bạn không thể giữ kết nối mở giữa máy khách và máy chủ - và sự hiểu biết thô sơ của tôi về Comet là nó buộc kết nối vẫn mở bằng cách không bao giờ chấm dứt luồng ghi và chỉ gửi các byte NUL. Điều này nghe có vẻ ... máy chủ chuyên sâu.
Làm cách nào để WebSockets hoạt động? Nếu tôi có một vài trăm người trên ứng dụng trò chuyện của tôi cùng một lúc, liệu máy chủ có bị quá tải không? Khi tôi sử dụng PHP/MySQL trên máy chủ, máy chủ chỉ xử lý một yêu cầu cùng một lúc - và nếu tôi sử dụng AJAX và cuộc thăm dò, cứ mỗi giây, tôi tưởng tượng rằng nó sẽ leo thang nhanh chóng khi bạn có hàng nghìn yêu cầu một phút.
Câu hỏi của tôi là, thực hiện quy mô WebSockets cho các ứng dụng lớn? Có thực tế mà không có máy chủ băng thông thực sự cao không?
Tôi đoán nó đến: có sự khác biệt đáng kể về trải nghiệm người dùng/tải máy chủ giữa cuộc thăm dò AJAX tại một khoảng thời gian thường xuyên, Comet và WebSockets không?
Cảm ơn!
Mọi người đều có câu trả lời hay, nhưng tôi cũng phải đưa ra câu trả lời yêu thích của bạn để giải quyết Comet và liên kết Treehouse, đây là một tổng quan tốt. Tôi đã thử Googling cho công cụ này, nhưng tôi không nghĩ rằng tôi thậm chí biết các từ khóa được nêu ra. Cảm ơn! –