2017-10-06 24 views
1

WebRTCシグナリングサーバー(https://github.com/andyet/signalmaster)を展開できました。 1つだけ問題が残っています 何らかの理由でChromeで接続できません。 Chromeは警告をスローします:WebRTCシグナリングサーバーChromeでWebsocket接続が閉じられました

WebSocket connection to '<wss://.......:8888/socket.io/?EIO=3&transport=websocket&sid=-OpElfbpa4_ZAGS9AAAK>' failed: WebSocket is closed before the connection is established. 

HovewerはFirefoxでうまく動作します。 SSL証明書をセットアップしました。シグナリングサーバーはEC2上で動作しています。 これを修正する方法はありますか?

+0

詳細については、socket.ioをデバッグして、ソケットが閉じられている理由を把握できるかどうかを確認してください。サーバ側では 'DEBUG = * node app.js'、クライアント側では' localStorage.debug = '*'; 'を使用できます。この[link](https://www.tutorialspot.com/socket.io/socket.io_logging_and_debugging.htm)でデバッグ方法の詳細を参照してください。 疑問がある場合は質問を更新してください。 – elbecita

+0

@elbecitaここにはサーバーhttps://pastebin.com/8YfrBsY4 の出力を持つペーストビンとクライアント出力http://prntscr.com/gvozyc – brmk

+0

接続がクローズされている理由を特定するのに役立つものはありません。私はいくつか試して答えた。もし彼らが助けてくれたら教えてください。 – elbecita

答えて

0

それが問題を解決する可能性がありますしようとするいくつかのこと:

  • は、同じバージョンsocket.ioとsocket.ioクライアントはありますか?そうでない場合は、不一致が不安定な動作を引き起こす可能性があるため、同じバージョンに設定して試してください。

  • ping間隔とpongタイムアウトを変更して、ハートビートのタイムアウトによるものかどうかを検出するようにしてください。これは、Chromeで時間がかかるためです。

const io = require('socket.io')(http, {'pingInterval': 5000, 'pingTimeout': 10000});

(これは5間隔秒と10秒のタイムアウトになり、これを微調整し、それが何らかの形で影響を与えるかどうかを確認して自由に感じる):あなたがこれを行うことができます。

  • これは、answerにも関係します。ソケットにアクティビティがないため、socket.ioは接続を閉じている可能性があります。

  • ログを確認するもう1つのこと:webrtc接続を確立しようとしているときに、新しいタブを開いてchrome://webrtc-internals/に行き、何が起きているか確認できます。 ICE候補者がいる場合は、選択した候補者のペアがある場合など。

この情報の一部が役立ちます。

関連する問題