我使用node.js和socket.io來構建遊戲。Socket.io:如何在斷開連接後重新連接時執行某些操作?
我的代碼如下。遊戲很簡單。一旦連接到服務器並開始動畫,它就開始做一些動畫。
我想確保如果互聯網連接斷開或者服務器斷開連接,遊戲將會優雅地失敗。一旦連接恢復,遊戲就會恢復。
animate函數從服務器獲取內容。因此,如果沒有連接,它將無法正常工作。我希望動畫函數只有在有連接時才能執行。
所以我介紹了一個名爲connected的變量,它應該保持連接的狀態。如果conncted = false,我停止動畫。
但現在問題是socket.io本身嘗試重新連接幾次。在重新連接過程中,如何將連接設置爲false?
Game.js
var connected = false;
$(document).ready(function(){
//connect to socket server
socket = io.connect('/gameserver');
socket.on('connect', function() {
connected = true;
animate();
});
socket.on('disconnect', function() {
connected = false;
socket.connect();
});
});
function animate()
{
....
......
........
if ((connected) && (.....)) animate();
}