/
main.js
54 lines (41 loc) · 1.37 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
$("#connect").click(function() {
$("#connect").hide();
$("#log").show();
if (Playrtc.isCompatible()) {
var io = Playrtc.connect('ws://localhost:9000' + window.location.pathname + '/ws');
var p2p = io.p2p;
var server = io.server;
io.on('ready', function() {
trace('My id: ' + io.id);
trace('Other members: ' + io.members); // Array of other member ids (which are ready)
var data = {'msg': 'pingmsg'};
server.send('ping', data); // Send to server
p2p.broadcast('ping', data); // P2P broadcast to all other members
server.send('processThenBroadcast', 'some data');
});
p2p.on('ping', function(from, data) {
trace('P2P ping msg from ' + from +': ' + data.msg);
var to = from;
p2p.send(to, 'pong', {'msg': 'pongmsg'});
});
p2p.on('pong', function(from, data) {
trace('P2P pong msg from ' + from +': ' + data.msg);
});
server.on('pong', function(data) {
trace('Server Pong msg: ' + data.msg);
});
// Other control events
io.on('newmember', function(id) {
trace('New member: ' + id);
});
io.on('memberleft', function(id) {
trace('Member left: ' + id);
});
server.on('broadcastedFromServer', function(data) {
trace('Broadcasted data from server: ' + data.processedData)
});
}
function trace(str) {
console.log(str);
}
});