私はwebRTCテクノロジーを実装するプロジェクトに取り組んでおり、データチャネルを使用してwebSocketsのようなシグナリングを行うことができるかどうか疑問に思っていました.サーバーに?
3 に答える
実際、答えはイエスです。
詳しく説明しましょう。PeerConnection が接続されると (WebSockets、https などの何らかの方法で)、再ネゴシエーション (新しい CreateOffer/CreateAnswer/etc) を行い、DataChannel 経由で送信できます。これは、特に両方のエンドポイントがサーバーから離れている場合や、両方が同じ LAN 内にある場合など、場合によっては再ネゴシエーションが著しく高速になることを意味します。コール状態を維持するサーバー。)
また、(会議での) 再ネゴシエーションと、ハブまたはサーバーに接続されている他のユーザーとの接続を開始するために、会議ハブまたはシグナリング サーバーとして機能するサーバーへの PeerConnection を介して DataChannel を使用することもできます。
「サーバーを経由せずにランダムに他の誰かに直接接続したい」場合、答えは「いいえ」です。最初に接続された PeerConnection が必要です。オファーとアンサーを交換したい場合は、 IPoACを使用できます。その後、上記のように DataChannels を使用できます (少し高速になる可能性があります)。
いいえ!!! _
最初のハンドシェイクには、シグナリング用のサーバーが必要だからです。
また、ハンドシェイクがないと、 DataChannelを使用してテキストやファイルを共有できないと思います。
この JavaScript Only WebRTC Experimentで同じことをしました! -ソース コードを参照してください。シグナリングとICE交換にPubNubを使用した場所。