2016-04-21 11 views
0

2人のユーザーがランダムに選択され、チャットするためにお互いに接続するWebRTCアプリケーションを構築しています。両方のクライアントは開いているWebSocket接続を維持しており、これを使用してオファー/応答を交換して接続を通知する予定です。私が考慮しようとしているのは、悪意のある設定情報を意図的に送信しているピアが存在する場合、また、ピアがシグナリング交換の途中で自発的に切断する可能性がある場合です。ピアが互いに信頼できない場合にWebRTC接続信号を検証する方法は?

最初のケースに対する私の解決策は、サーバーが交換の状態を保持しているため、接続が初めて確立されたときに、ユーザーAはオファーを提供し、ユーザーBは回答を期待します。これは適切ですか?クライアント側のみで実装する必要がありますか?

第2の問題に対する私の解決策は、ハックのように私に感じます。私がしようとしていることは、ユーザーに一致が行われたことを通知してから、その時間内に接続が確立されていない場合、ユーザーは20秒と言うタイムアウトを設定します。

これらの適切なソリューションはありますか?いずれかのピアが信頼できない場合、どのようにWebRTCを確実に確立しますか?シグナリングサーバが交換の状態に関係する必要がありますか?

+0

私はあなたが心配しているものは得られません。悪い俳優たちもつながりたい。 – jib

答えて

0

リモートピアのIDを信頼するのではなく、コールセットアップエラーが心配されているようです。彼らは2つの非常に異なる問題です。

あなたが心配しているコールセットアップエラーであると仮定すると、あなたがそれらを避けようとするべきではなく、あなたのアプリケーションがそれらを処理できるようにする必要があります。ネットワーク接続の問題は、常に切り詰めて処理する必要があるものです。

完了するためのWebRTC呼び出しを確立するためのタイマーを設定することは論理的な解決策です。時間制限が近づいているという警告をユーザーに表示することも良い考えです。 SIPはシグナリングプロトコルであり、トランザクションの完了のために定義されたタイムアウトを有し、その時間内に完了しなければエラー応答を生成する。あなたは同じアプローチを使うことができます。

関連する問題