2013-03-03 6 views
7

私はNode.jsを学んでおり、現在WebSocketsを勉強しています。私が理解しているように、Socket.ioは、さまざまなブラウザがWebSocketsで持っていた一貫性のないサポートに対処することを意図していました... caniuse WebSocketsをチェックすると、WebSocketは現在実質的に完全にサポートされているようです。誰もこの場合にSocket.ioとWebSocketsを使用する理由を説明できますか?Socket.ioを使用する理由は何ですか?

+0

西側のブラウザの少なくとも半分を占める従来のデスクトップとモバイルブラウザを気にしない限り、それは私が完全にサポートするものではありません。これは今後5年間も使用されますwebsocketを決してサポートしません。 – mpm

+0

良い点。私はSocket.ioがどの接続方法がうまく機能しているのかを把握しており、使用しているブラウザに基づいています。実際、それはおそらくそこの答えでしょう。私はあなたがWebSocketsを使うだけなら、あなた自身のためにすべてのコードを理解しなければならないと確信しています。 –

答えて

9
  1. それは(ウェブソケット、AJAXロングポーリング、フラッシュ、など)2013年3月that siteリストのウェブソケットのよう
    1. を流れる双方向近い時間通信を取得するために、数多くの技術的な選択肢にあなたのための優雅な劣化を処理します61%のサポートで。これは「実質的にいっぱい」ではありません。
  2. それは(これらの最初の2つの事は視点でそれを置くために、基本的にはjQueryで作成された同じ値である)
  • それは追加の機能が含まれています
    1. ため、ブラウザの不整合や、様々なサポートレベルを扱います基本的なパブリッシュ/サブスクライブインフラストラクチャのためのルームサポートや自動再接続などのような裸の骨のWebソケットを超えて
    2. AFAIK少なくとも現時点では、バニラWebソケットよりも助けを得るのが一般的で簡単です。

    しかし、jQueryの嫌悪者のためにVanillaJSと同じように、公式の標準WebソケットAPIを直接使用したい場合は、ぜひ自分をノックアウトしてください。

  • +0

    Gotcha。うん、私はちょうど私がキャニューズチャートを完全に間違って読んでいることに気づいた - 私は誰もが最新のブラウザを使用しているという事実を考慮しなかった:P。愚かな間違い。あなたの入力をありがとう! jQuery(私が使っている)についてあなたが作ったことは、全体的に意味があります。ありがとう。 –

    +0

    良いコメント。あなたがこの質問に答えてから2年の間に多くのものが変わってきましたが、私は#4がそれらのすべてのより良い答えだと信じています。バニラソケットに行きたい場合は、ソケットIOをスキップしてください。あなたがより優雅な統合を望んでいるなら、それをチェックしてください。 当然ながら、誰かが同意しない場合は、私を修正してください! :) – ReSpawN

    関連する問題