70

私は socket.io を使用しており、セットアップは簡単でした (使用ページの例のおかげで) が、実際に何が起こっているのか、それを機能させるテクノロジーは何かについてもっと知りたいです。

socket.io の正確な仕組みは何ですか?

ポート80ですか、それとも別のポートですか?

それは本当に開いたままですか、それともその部分はシミュレートされていますか?

各ソケットイベントをプロファイリングする方法はありますか? (フィドラーを使用してajax呼び出しで何が起こるかを確認するようなものです)

4

2 に答える 2

34

JAM の投稿は、socket.ioとは何かをうまく要約しています。他のいくつかの質問に具体的に答えたいと思います。

  • Socket.io は のインスタンスにアタッチし、http.Serverハンドラーを追加します。それ自体ではネットワーク ポートをリッスンしません。既存の HTTP サーバーに socket.io 固有のハンドラーを追加するだけです。(ただし、番号で呼び出す場合はio.listen()、指定されたポートをリッスンして接続する新しい HTTP サーバーを内部的に作成します。)

  • WebSocketsトランスポートを使用している場合、実際には開いたままになります。また、従来の (ロング) ポーリング ajax リクエストを使用するフォールバック メカニズムも含まれています。したがって、答えはブラウザがサポートする API によって異なります。(必要に応じて、使用するフォールバックを構成できます。)

  • Chrome の開発者ツールと同様に、Fiddler は Websocket をサポートするようになりました。

ここに画像の説明を入力

于 2013-05-23T17:35:43.900 に答える