web-dev-qa-db-ja.com

Socket.ioクライアントのデバッグ?

Socket.ioには、サーバーから送信されたすべてのものを文字通り確認できるクライアント側のデバッグモードがありますか?

これで、次のコードで同じ効果が得られます。

socket.on('HELLO', function(arg1, arg2) { console.log('HELLO', arg1, arg2) ... 
socket.on('WORLD', function(arg1) { console.log('WORLD', arg1) ... 

Console.logをどこにでも配置せずにこれを簡単に実行できれば、本当に便利です。

22
disappearedng

これをコンソールに貼り付け、Enterをクリックして、ページを更新します。

localStorage.debug = '*';

受信データのデバッグ情報のみをソケットから取得するには、代わりにこれを貼り付けます。

localStorage.debug = 'socket.io-client:socket';
23
Lukas Liesis

WebkitブラウザのWebインスペクタ(クロム、サファリ、クロム)で簡単に確認できます。これを行うには

  • ページを右クリック
  • 要素の検査に移動
  • ネットワークタブをクリックします
  • ネットワークタブを開いた状態でページをリロードします。
  • Http get requestを使用してすべてのリソースを確認し、それらの応答をロードすることができます。
  • Socket.ioサーバーへの最初のリクエストを見つけます。
  • これにより、使用可能なメッセージトランスポートのリストが返されます。
  • Socket.ioクライアントは、最初に利用可能なトランスポートを取得します。 (ブラウザでサポートされている場合はWebSocket)
  • 2番目のリクエストでは、すべての応答が[フレーム]タブに返されます。

Reference image for web inspector

7
arunkjn

Socket.ioのバージョン1.0以降、localStorageの「debug」プロパティを「*」に設定できます。次に、すべてのクライアントログを取得します。内部で https://github.com/visionmedia/debug を使用しているため、フィルタリングすることもできます。それはすべてここにうまく文書化されています: http://socket.io/docs/logging-and-debugging/

2
Capaj

コマンドプロンプトを使用している場合は、次の2つのコマンドを入力します。

set DEBUG=* node yoursocketioprogram.js

これで、socket.io-client内のdebug()にすべてのメッセージが表示されます。

0
JerinDJoy

あなたが説明したように、それらを手動でログに記録しないと、現在は不可能のようです。

これに関して Socket.io-client — GitHub に問題を投稿しました。 ( https://github.com/LearnBoost/socket.io-client/issues/46 )。