2013-03-03 50 views
7

Tôi đang học Node.js và hiện đang nghiên cứu WebSockets. Như tôi đã biết, Socket.io được thiết kế để giải quyết sự hỗ trợ không nhất quán mà các trình duyệt khác nhau có với WebSockets ... Nếu bạn xem caniuse WebSockets, có vẻ như WebSockets hiện đã hỗ trợ đầy đủ. Bất cứ ai có thể giải thích tại sao tôi nên sử dụng Socket.io so với WebSockets trong trường hợp này?Tại sao tôi nên sử dụng Socket.io?

+0

không phải là những gì tôi gọi là IMHO tối đa, trừ khi bạn không quan tâm đến máy tính để bàn cũ và các trình duyệt di động chiếm ít nhất một nửa số trình duyệt được triển khai ở miền tây, vẫn sẽ được sử dụng trong 5 năm tới và sẽ không bao giờ hỗ trợ websocket. – mpm

+0

Điểm tốt. Tôi nhận thấy rằng Socket.io tìm ra phương thức kết nối nào hoạt động tốt nhất và thực hiện điều đó cho bạn, dựa trên trình duyệt bạn đang sử dụng. Trên thực tế, đó có lẽ là câu trả lời ngay tại đó. Tôi chắc chắn nếu bạn chỉ cần sử dụng WebSockets, bạn sẽ phải tìm ra tất cả các mã cho chính mình. –

Trả lời

9
  1. Nó xử lý suy thoái duyên dáng cho bạn nhiều lựa chọn thay thế kỹ thuật để có được hai chiều giao tiếp gần như thời gian chảy (cổng web, bỏ phiếu ajax dài, đèn flash, vv)
    1. Tính đến tháng 3 năm 2013 socket that site danh sách web ở mức hỗ trợ 61%. Đây không phải là "thực tế đầy đủ".
  2. Nó xử lý mâu thuẫn duyệt và mức hỗ trợ khác nhau cho bạn
    1. (những 2 điều đầu tiên là về cơ bản cùng giá trị được tạo ra bởi jQuery, phải đặt nó trong quan điểm)
  3. Nó bao gồm các tính năng bổ sung các ổ cắm web ngoài xương trần như hỗ trợ phòng cho cơ sở hạ tầng xuất bản/đăng ký cơ bản và những thứ như tự động kết nối lại
  4. AFAIK nó phổ biến hơn và dễ dàng hơn để nhận trợ giúp với ổ cắm web vani, ít nhất là vào lúc này.

Tuy nhiên, giống như có VanillaJS cho những người ghét jQuery, nếu bạn thích sử dụng API chuẩn web API chính thức trực tiếp, bằng mọi cách, hãy loại bỏ chính mình.

+0

Gotcha. Vâng, tôi chỉ nhận ra rằng tôi hoàn toàn đọc biểu đồ caniuse sai - Tôi đã không xem xét thực tế là không phải ai cũng đang sử dụng trình duyệt cập nhật nhất: P. Lỗi lầm ngớ ngẩn. Cảm ơn bạn đã nhập liệu! Điểm bạn đã thực hiện về jQuery (mà tôi sử dụng) có ý nghĩa tổng thể. Cảm ơn người đàn ông. –

+0

Nhận xét hay. Trong khi rất nhiều thứ đã thay đổi trong suốt 2 năm kể từ khi bạn trả lời câu hỏi này, tôi tin rằng # 4 là câu trả lời tốt hơn cho tất cả chúng. Nếu bạn muốn đi vanilla socket, bỏ qua Socket IO. Nếu bạn đang tìm kiếm một tích hợp duyên dáng hơn, hãy kiểm tra nó. Đương nhiên, nếu có ai đó không đồng ý, hãy sửa tôi! :) – ReSpawN

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