我正在使用 node.js 和 socket.io 来构建游戏。
我有如下代码。游戏很简单。它一连接到服务器就开始做一些动画,并且一直在做动画。
如果互联网连接断开或服务器断开连接,我想确保游戏正常失败。一旦连接恢复,游戏就会恢复。
animate 函数从服务器获取内容。因此,如果没有连接,它将无法正常工作。我希望仅在有连接时才执行动画功能。
所以我引入了一个名为 connected 的变量,它应该保存连接的状态。如果 conncted=false ,我停止动画。
但现在问题是 socket.io 本身尝试重新连接几次。如何在重新连接过程中将 connected 设置为 false ?
游戏.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();
}