2016-08-12 8 views
1

私はiOSでビデオコールを使いたいと思っています。これを行うためにR & Dを実行しました.Webbrcはこのためのオプションです。 私はWebRTCがピアツーピア通信であることを発見しました。デモの例にはサーバーのLINKが含まれています。 私の質問は、WebRTCがピアツーピアの場合、なぜこれがサーバーを使用しているのかということです。WebRTC作業プロセス

答えて

0

から

ガットヘルプそれは安全ではないだろう、あなたは通常、唯一のアプリケーションでアウトバウンド接続をしたい、着信接続は、サーバーアプリケーションで発見されています。
これはピアツーピアの問題です。なぜなら、両方のピアがアウトバウンドだけを接続すると、どのように接続を確立するのでしょうか?答えは、すべてのピアがシグナリングサーバに接続することです。コールを開始すると、ピアは、別のピアを呼び出すことをサーバーに通知します。サーバは、着信コールがあることを他のピアに知らせることができます。
ここでは終わりはありませんが、まだ接続されていませんが、少なくとも両方のピアは1つ存在することを知っています。両方の同僚は今ICE候補の生成を開始します。 ICEを通じて、ピアは接続を確立するルートを見つけます。時々あなたはピアツーピアに接続することができますが、通常は少なくとも1つのファイアウォールが関わっています(それ以上の時間がほとんどです)。その場合、プロトコルはファイアウォール(基本的には安全な方法でポートを開きます)に「穴を開ける」STUNサーバーを試行します。これはすべてのピアツーピア接続の90%をカバーしますが、まだピアツーピア接続が不可能な場合があります。これは、TURNが来る場所です。これは、ピアが他のピアにデータをリレーするために使用できるリレーサーバーです。接続はこのようにピアツーピアではありません。

1

WebRTCは、複数のタスクに使用できますが、リアルタイムのピアツーピアのオーディオとビデオ(つまり、マルチメディア)通信が主要な利点です。ウェブブラウザを介して他の人(すなわち、ピア)と通信するために、各人のウェブブラウザは、通信を開始し、互いの位置を知り、セキュリティおよびファイアウォールの保護をバイパスし、リアルタイムですべてのマルチメディア通信を送信することに同意しなければならない。

ブラウザベースのピアツーピア通信に関連する最大の課題の1つは、マルチメディアデータを双方向に送信するために、別のコンピュータのWebブラウザとネットワークソケット接続を見つけて確立する方法を知っていることです。これに関連する困難は最初は明らかに見えないかもしれませんが、私はさらに説明しましょう。

ウェブサイトにアクセスすると、通常、ウェブアドレスを入力するかリンクをクリックしてページを表示します。 Webページ(HTML、CSS、およびJavaScript)を提供することによって応答するサーバーに対して要求が行われます。ここで重要な点は、既知の簡単に見つけやすい(DNS経由で)サーバーにHTTPリクエストを行い、応答(つまり、Webページ)を返すことです。

ここで私の親友とビデオチャットをしたいとしましょう。私のお母さんのコンピュータはウェブサーバーではありません。したがって、問題はどのようにして要求を行い、実際に自分のオーディオとビデオのデータを直接受け取ると同時に、自分のオーディオとビデオのデータを直接彼女に送信しますが、外部のサーバーを経由することはありません。アプリが新しい接続にすべての時間を聞くためにためHERE

関連する問題