Here is a page with some graphs showing how the signaling process works。基本的には、まず、いくつかのクライアント側のものを設定します。
- PeerConnectionFactoryを。 PeerConnectionsを生成するために、
- PeerConnection;あなたが望む別のピアへの接続ごとに1つ(通常1)、
- MediaStream;クライアントデバイスからオーディオとビデオを接続します。
その後、発信者側のSDP
offer
peerConnection.createOffer();
を生成し、呼び出し先に送信します。呼び出し先がこのoffer
peerConnection.setRemoteDescription(insert-the-offer-here);
を設定し、SDP
answer
peerConnection.createAnswer();
を生成し、呼び出し元に送信します。発信者はこれを受け取りanswer
と設定します。
peerConnection.setRemoteDescription(insert-the-answer-here);
呼び出し元と呼び出し先の両方は、発信者のoffer
が設定されている
onAddStream() {...} //needs to be implemented in your code
呼び出し先への呼び出しと呼び出し先のanswer
が設定されている発信者を取得します。このコールバックは、接続の開始を知らせます。
また、firewall
とNAT
の問題を避けるためにICE
(STUN
/TURN
)を使用することもできますが、これはオプションです。プロダクションコードでは、とにかく実装したいと思うかもしれません。
注:のWebRTCのドキュメントは
あなたは、シグナリングを参照している...あなたはのWebRTC塩の粒と(今のように書か少なくとも何でも)について読むすべてを取る、変更するには希少で受けるのですか? – nick
はい。同僚に最初に提供/回答するためのチャンネルを構築するのは私の役割だと理解していますが、これらのメッセージをどのように構築するかについての詳細な指示はありません。 – mspanc
ICEから開始:https://tools.ietf.org/html/rfc5245 - SDPの基本的な瞬間についても説明します。基本的には、ICEとSTUN/TURNから始め、次にSDPを続ける必要があります。その段階で、あなたのアプリケーションはSDPパケットと交換してシグナルステージを通過することができます。その後、クライアントにDTLSプロトコルを実装する必要があります。そして、SRTP/SCTP。 – fycth