コードを生成してmongodb(My chrome browser)に保存する小さなアプリがあります。別のユーザー (私の Firefox ブラウザー) が指定されたコードを入力し、それをブロードキャストして、自分がそこにいることをクロムに知らせます。
今、私はクロムブラウザがそれ自体とFirefoxブラウザに合意を発行して、合意が発行された瞬間に両方が同じ関数によって解析されるようにしたいと考えています。
ただし、ポイントは、端末でコンソールログを1つしか取得できないため、Chrome(またはFirefox、私は疑わしい)だけがエミットをリッスンしていると思われることです。
両方のブラウザが「同意」を受信しない理由を誰でも見ることができますか?
私のapp.js:(オン接続部分)
io.sockets.on('connection', function (socket) {
socket.on('code_game', function (data) {
if (codeToUse == data.code) {
//The receiving end received the proper code from the sending end
console.log(data.secondUser + ' is verbonden via de code: ' + data.code);
//Emit to all parties to let everyone know there's a connection
socket.emit('agreement', {
userOne: {
name: 'Timen',
code: codeToUse
},
userTwo: {
name: data.secondUser,
code: data.code
}
});
}
});
});
そして、私のビューで呼び出されている JS ファイル: (この場合、sendToFirstUser は Firefox です)
var receivingUsersCode = false;
var receivingUsersName = false;
var socket = io.connect('http://localhost');
socket.on('agreement', function (data) {
console.log("hooray");
});
function setReceivingData(code, username) {
receivingUsersCode = code;
receivingUsersName = username;
ding = 'drie';
$('#new_game').css('display', 'block');
$('.theCode').html(receivingUsersCode);
}
function sendToFirstUser(code, username) {
socket.emit('code_game', { code: code, secondUser: username});
}