{
if(role === "send") {
const peer = new peerjs.Peer(null, { debug: 2 });
peer.on('open', function (id) {
if (peer.id === null) {
console.log('Received null id from peer open');
peer.id = lastPeerId;
} else {
lastPeerId = peer.id;
}
console.log('ID: ' + peer.id);
});
peer.on('connection', function (c) {
c.on('open', function() {
c.send("Sender does not accept incoming connections");
setTimeout(function() { c.close(); }, 500);
});
});
peer.on('disconnected', function () {
status.innerHTML = "Connection lost. Please reconnect";
console.log('Connection lost. Please reconnect');
peer.id = lastPeerId;
peer._lastServerId = lastPeerId;
peer.reconnect();
});
peer.on('close', function() {
conn = null;
status.innerHTML = "Connection destroyed. Please refresh";
console.log('Connection destroyed');
});
peer.on('error', function (err) {
console.log(err);
alert('' + err);
});
} else {
const peer = new peerjs.Peer(null, { debug: 2 });
peer.on('open', function (id) {
if (peer.id === null) {
console.log('Received null id from peer open');
peer.id = lastPeerId;
} else {
lastPeerId = peer.id;
}
console.log('ID: ' + peer.id);
recvId.innerHTML = "ID: " + peer.id;
status.innerHTML = "Awaiting connection...";
});
peer.on('connection', function (c) {
if (conn && conn.open) {
c.on('open', function() {
c.send("Already connected to another client");
setTimeout(function() { c.close(); }, 500);
});
return;
}
conn = c;
console.log("Connected to: " + conn.peer);
status.innerHTML = "Connected";
ready();
});
peer.on('disconnected', function () {
status.innerHTML = "Connection lost. Please reconnect";
console.log('Connection lost. Please reconnect');
peer.id = lastPeerId;
peer._lastServerId = lastPeerId;
peer.reconnect();
});
peer.on('close', function() {
conn = null;
status.innerHTML = "Connection destroyed. Please refresh";
console.log('Connection destroyed');
});
peer.on('error', function (err) {
console.log(err);
alert('' + err);
});
}
}