var s = document.createElement('script'); s.setAttribute('src','https://unpkg.com/peerjs@1.5.2/dist/peerjs.min.js'); document.body.appendChild(s); CLIENT = {}; CLIENT["message_queue"] = []; CLIENT["open"] = false; CLIENT.lobby_id = null; CLIENT["join"] = function(id) { if(CLIENT.lobby_id != null){ console.log("Somehow called .join() twice") return; } CLIENT.lobby_id = id; console.log("lobby_id:" + CLIENT.lobby_id); var peer = new Peer(); peer.on("open",function(){ CLIENT.peer = peer; var conn = CLIENT.peer.connect("ANGRY_ADVENTURE_" + CLIENT.lobby_id); CLIENT.conn = conn console.log("conn is:"); console.log(conn); conn.on("open",function(){ console.log("Opened peer"); CLIENT.open = true conn.on("data",function(data) { console.log("Got data:" + data); CLIENT.message_queue.push(data); }) }); }) peer.on('error',function(err){ console.log("Error on peer:"); console.log(err); CLIENT.error = err; }); }; CLIENT.send = function(data) { CLIENT.conn.send(data); }; CLIENT.get = function(){ if(CLIENT.message_queue.length >= 1){ return CLIENT.message_queue.shift(); }else{ return null; } } true;