internet
Version:
Framework for creating peer-to-peer browser networks
51 lines (41 loc) • 1.56 kB
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>