3

これが私の現在の問題です:私は複数のWebRTCリソースを閲覧しており、Googleの実験やMozillaの実験も調べていますが、これを行う方法の簡単な説明をまだ見つけていません. また、WebRTC の基本的なアーキテクチャを理解するのにも苦労しています。

私がやりたいのは、各ノードがブラウザーであるピアツーピアオーバーレイを構築することです。これらの各ノードは、すべての着信接続を受け入れ、IP アドレスを使用して他のノードに接続できます。それらはDataChannel を介してのみ通信します。私が読んできた多くの例とは異なり、NAT を破壊するために必要なサーバー (STUN サーバーなど) だけを使用して、シグナリングをサーバーに依存したくありません。

これがどのように達成されるかを誰かが説明できますか? WebRTC Experiments サイトのリソースを読んでいて、オファーなどで何かをする必要があるのですが、よくわかりません。

4

1 に答える 1

1

WebRTC でノードをどのようにアドレス指定するかは、実装者であるあなた次第です。シグナリングは意図的に仕様から除外されているためです。そのため、オーバーレイ内のノードを IP アドレスでアドレス指定したい場合は、先に進んでください。しかし、WebRTC での接続確立がどのように機能するかを少し誤解していると思うので、もう少し詳しく説明します。

WebRTC 接続の確立は、SDP メッセージ ( http://en.wikipedia.org/wiki/Session_Description_Protocol ) を交換することによって行われます。あるブラウザーが別のブラウザーへの PeerConnection を確立するようにするには、SDP メッセージ (RTCPeerConnection#createOffer で生成) を他のブラウザーに送信する方法を見つける必要があります。そのブラウザへの UDP 接続を開く方法はありません (または ICE は機能しません)。

そのため、ノードがオーバーレイ ネットワークに参加するには、中心点 (サーバーと呼びましょう) または別のチャネル ( https://github.com/cjb/serverless-webrtc/"server- less" WebRTC) を使用して接続を確立します。すべてのノードが RTCPeerConnections を介して (たとえばチェーンとして) 相互に接続されるとすぐに、これらの接続を使用して、さらに接続を確立できます (つまり、これらの接続を介して SDP オファー/アンサーを転送します)。

IP アドレスによるノードのアドレス指定に戻る: アドレスがわからない場合があるため (たとえば、STUN と特に TURN が機能する場合)、これは良い考えではありません。

コメントで質問に答えるように編集します。

IP アドレスの代わりに sth を使用できます。UUID ( http://en.wikipedia.org/wiki/UUID ) のようなものです。また、sth を使用することもできます。すべてのユーザーが何らかの方法で認証されている場合、ユーザーの電子メール アドレスなど。ただし、ピアの認証の問題は、IETF/W3C によってまだ完全に指定されておらず、実装がまだ存在しないことに注意してください。

于 2013-06-17T07:53:03.270 に答える