WebRTCを用いれば、ブラウザーで、P2Pアプリの機能を提供することができます。
もちろん、WebRTCではSTUNサーバーが利用されています。
さっそく、STUNを介して、自身のアドレスを取得してみましょう。
1. RTCPeerConnection を生成する。
2. RTCPeerConnection#createOffer()をコールする
でOKです。
以下のような値を取得できます。SDPと呼ばれています。
...
...
m=audio 55491 RTP/SAVPF 111 103 104 0 8 106 105 13 126
c=IN IP4 111.100.57.xxx
a=rtcp:55491 IN IP4 111.100.57.214
a=candidate:38022971xx 1 udp 21139371xx 192.168.0.3 55491 typ host generation 0
a=candidate:38022971xx 2 udp 21139371xx 192.168.0.3 55491 typ host generation 0
a=candidate:12749365xx 1 udp 18455016xx 111.100.57.2xx 55491 typ srflx raddr 192.168.0.3 rport 55491 generation 0
a=candidate:12749365xx 2 udp 18455016xx 111.100.57.2xx 55491 typ srflx raddr 192.168.0.3 rport 55491 generation 0
a=candidate:28878806xx 1 tcp 15099573xx 192.168.0.3 0 typ host generation 0
a=candidate:28878806xx 2 tcp 15099573xx 192.168.0.3 0 typ host generation 0
[予告]
次回は、WebRTCを使って、何かします。たぶん、Torrentの考え方を応用したサンプルを紹介します。○ソース
https://github.com/kyorohiro/HelloWebRTC/tree/master/connectStun