nagano

2013.07.02

WebRTCのライブラリ「PeerJS」でP2Pチャットを作ってみる





CSS3+JavaScript
WebRTCPeerJS調


WebRTCwikipedia
WebRTC (Web Real-Time Communication)World Wide Web Consortium (W3C)APIP2P

WebSocketHTML5WebRTCQCon Tokyo 2013 (2/3)  IT

PeerJS


Developer  Free
http://peerjs.com/peerserver#

API
API使PeerJS使


PeerJS


Hi!


受ける側の解説



1peer
1ID
ID
2PeerJSAPI
2
35
receive_messagediv


送る側の解説



1ID
2ID
DataConnection
3
4hi!



1


2つ目のブラウザ

解説

まず1つ目と2つ目の違いは「selfId」と「againstId」の中身が逆になっていることと、
二つ目がonload時に一つ目のブラウザに対して接続を行っていること以外はほとんど同じです。

時系列に解説します。

■一つ目のブラウザを開く

①Peerを”ReceiverID”というIDでnewする。

②別のブラウザからの接続を待つ

■二つ目のブラウザを開く

③Peerを”SenderID”というIDを引数でnewする。



onBodyLoadReceiverID
(binary-utf8)
connect
connect

⑤両方のブラウザのconnect関数が呼ばれ、引数には接続相手のDataConnectionが入っている。
送信のときに使えるようにグローバル変数にセットし、データ受信用のイベントハンドラを呼ぶ。







ID



WebRTCandroidchrome使
iOS使P2P