UNPKG

internet

Version:

Framework for creating peer-to-peer browser networks

51 lines (41 loc) 1.56 kB
<!doctype html><title>Bob</title> <script src="/p.js"></script> <script> var connections = []; function onrampHandler(onramp){ onramp.on('message', function(peerAddress){ console.log('connecting to ' + peerAddress + ' via ' + onramp.address); // Connect to remote peer via the onramp var peer = onramp.connect(peerAddress); connections.push(peer); peer.on('message', function(message){ console.log(peer.address, ' --> ', message); }); peer.on('open', function(){ console.log(peer.address, ' <-- Welcome to the party, I\'m Bob!'); peer.send('Welcome to the party, I\'m Bob!'); connections.forEach(function(other){ if(other === peer) return; if(other.isOpen()){ console.log(peer.address, ' <-- ' + other.address + 'is also here.'); peer.send(other.address + ' is also here.'); console.log(other.address, ' <-- ' + peer.address + 'is also here.'); other.send(peer.address + ' is also here.'); } }); }); }) } var p = P.create(); var onramp1ServerAddress = 'ws://' + location.hostname + ':20500/'; console.log('connecting to onramp server at ' + onramp1ServerAddress); var onramp1 = p.connect(onramp1ServerAddress); var onramp2ServerAddress = 'ws://' + location.hostname + ':20400/'; console.log('connecting to onramp server at ' + onramp2ServerAddress); var onramp2 = p.connect(onramp2ServerAddress); onrampHandler(onramp1); onrampHandler(onramp2); p.on('disconnection', function(peer){ console.log(peer.address, ' disconnected'); }); </script>