WebRTCシグナリング [0.1.4]
概要
SDPを非同期通信で交換してシグナリングをおこなう
head内に追記
<script charset="UTF-8" src="../commons/p2p.js"></script>
使い方
window.addEventListener('load', () => {
peerClosure.ready( TERMINAL, PEER_CONNECTION_CONFIG, SETUP_DATA_CHANNEL, CONNECTION_STATE_CHANGE );
});
- TERMINAL (enum)
- 親端末は、"parent"
子端末のは、"child" - PEER_CONNECTION_CONFIG = null (?object)
- STUNサーバを指定する。
ローカル内で使用するときは不要。
※1つ指定する場合
※複数指定する場合{'iceServers': [{"urls": "stun:stun.l.google.com:19302"}]}
{'iceServers': [ {"urls": "stun:stun.l.google.com:19302"}, {"urls": "stun:stun.l.google.com:5349"} ]}
- SETUP_DATA_CHANNEL = function setupDataChannel(dc) { } (?callback)
- Data channel のイベントハンドラ
const SETUP_DATA_CHANNEL = function (dc) { // エラー発生時 dc.onerror = (e) => { }; // メッセージ受信時 dc.onmessage = (e) => { }; // 接続時 dc.onopen = (e) => { }; // 切断時 dc.onclose = (e) => { }; };
- CONNECTION_STATE_CHANGE = ConnectionStateChange(pc) { } (?callback)
- ピアの接続状態が変化した時
const CONNECTION_STATE_CHANGE = function (pc) { // ピアと接続時 if (pc.connectionState == "connected") { } // ピアと切断時 if (pc.connectionState == "disconnected") { } };
使い方:メッセージ送信処理
peerClosure.send(MESSAGE);
- MESSAGE (string)
- 送信するメッセージ