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)
送信するメッセージ

デモ

親端末
子端末