SockJS có nhiều tùy chọn phía máy chủ hơn. Nếu bạn không muốn bị ràng buộc với Node.js, thì đó có thể là một tùy chọn. Việc chia tỷ lệ dường như hoạt động tốt nhất, từ một số điểm chuẩn sử dụng PyPy để lưu trữ phần phía máy chủ.
socket.io có nhiều tùy chọn vận chuyển hơn, bao gồm Flash. Ngay cả khi bạn không thích đèn flash, nó vẫn có tùy chọn cho vận chuyển thực sự WebSocket, có thể hoạt động tốt hơn tùy thuộc vào yêu cầu triển khai của bạn.
Thực tế là, hoặc sẽ nhận được công việc làm, nó chỉ phụ thuộc vào mong muốn của bạn. Tôi khuyên bạn nên tạo một ứng dụng tầm thường trong mỗi ứng dụng và xem liệu API của một người có cảm thấy tự nhiên hơn với bạn hay không.
Cá nhân, tôi nghiêng nhiều hơn để sử dụng socket.io ... Tôi cũng sẽ nói rằng nếu bạn cần mở rộng bằng cách sử dụng các cụm, có thể bạn cũng cần phải vạch ra một chiến lược để sử dụng máy chủ/máy chủ phụ (chẳng hạn như redis) vì các yêu cầu khác nhau có thể đến các quy trình khác nhau không chia sẻ trạng thái bộ nhớ.
Cũng đáng chú ý, là có một khuôn khổ tương tự cho Net gọi SignalR ...
Bạn không nên chỉ đơn giản là thay đổi tất cả kéo để PUSHs. Có một lý do mà cả hai tồn tại. Chỉ sử dụng nội dung đẩy nếu cần thiết hoặc hữu ích cho trải nghiệm người dùng. – Alp
Cố gắng chia nhỏ các câu hỏi của bạn và làm cho chúng ít 'khách quan' hơn. Có thể hiển thị bất kỳ nghiên cứu nào về chủ đề bạn đã thực hiện (đây là để tránh vấn đề của bạn bị đóng là không xây dựng) – rlemon
Có một chủ đề về sự khác biệt giữa SockJS và Socket.io trên danh sách gửi thư sockjs, có thể nó sẽ giúp: https://groups.google.com/forum/#!topic/sockjs/lgzxVnlth54/discussion – Marek