0
我使用socket.io用Node.js和受socket.io的最新版本顯示了一個奇怪的現象: 客戶端上的連接事件觸發,但不在服務器上第一次。 重載後或簡單地加載頁面再次事件得到了兩個發射 - 正確的一面 - 客戶端和服務器。 有什麼不對(用我的代碼?)?Socket.io火災連接事件只是之後的第二連接
// Client
var socket = io.connect(window.location.protocol + '//' + window.location.hostname, {
'sync disconnect on unload': true
});
socket.on('connect', function() {
alert("Connect");
// Do other stuff
});
-
// Server
io.sockets.on('connection', function(socket) {
console.log("connection");
io.sockets.on('connect', function(socket) {
console.log("connect");
});
});
啓動服務器,並加載頁面: 客戶端觸發警報,服務器只是記錄connection
。現在再次加載頁面,它會記錄connection
和connect
。
更新: 似乎只是第一個連接有這樣的問題,後來它的工作原理無處不預期。在每個節點服務器(重新啓動)之後,就會出現該行爲。 注:節點本身提供了其中使用socket.io的頁面和工作,甚至在第一次請求,所以節點問題應該被排除在外呢。 瀏覽器也無所謂,每個瀏覽器都是一樣的。