ただし、このSDPを交換する部分はWebRTCでは提供されていません。自作する必要があるでしょう。※有り物を拝借するでも良いです。
試しに、WebSocketを使ってSignalServer(SDP交換機)を作成してみました。紹介します。
[UUIDでPeerを識別する]
多数のPeerの交換器としてサーバーを動作させたい場合、各Peerを識別する方法が必要です。特にP2Pシステムでは、統制を取らずに一意の識別子の作成をする事が望ましいです。
※今は交換サーバーが一つを想定しているので、本来考慮する事ないかもしれません。
今回は乱数を使用して実現しました。128bitの値を乱数で生成します。0〜2**128の値衝突する確率は、1/2**64ととても少ないのです。
※ アレと思った方は、「誕生日攻撃」ググると良い
// ref http://note19.com/2007/05/27/javascript-guid-generator/ function s4() { return (((1+Math.random())*0x10000)|0).toString(16).substring(1); } function createUUID() { return s4()+s4()+"-"+s4()+"-"+s4()+"-"+s4()+"-"+s4()+s4()+s4(); }
※rfc4122では、最初の6bitは予約されています。
[次回]
続きを書く..。その続きは、Peerに交換機の機能を付けたサンプルを紹介する予定。
※ 成果物は以下
https://github.com/kyorohiro/HelloWebRTC/tree/master/signalServer
https://github.com/kyorohiro/HelloWebRTC/tree/master/signalServer
0 件のコメント:
コメントを投稿