我有一个 socketio 服务器/客户端可以很好地协同工作,但是我想开始为服务器在页面加载或正常运行期间脱机时编写事件。
我在我的标题中包含了远程 socket.io 代码:
<script src="<?=NODE_HOST?>/socket.io/socket.io.js"></script>
<script>
var nodeHost = '<?=NODE_HOST?>';
</script>
在我的客户端控制器中,我有
如果(类型 io != '未定义') this.socket = io.connect(this.settings.server); 别的 this.handleDisconnect();
如果a)在正常操作期间发生套接字断开连接,或者b)服务器在页面加载时关闭,我必须尝试一遍又一遍地重新连接的功能
botController.prototype.handleDisconnect = function() { $.getScript(nodeHost+"/socket.io/socket.io.js").done(function(script, textStatus) { bot.control.socket = io.connect(bot.control.settings.server); }).fail(函数(jqxhr, 设置, 异常) { 设置超时(函数(){ bot.control.handleDisconnect(); }, 5000); }); }
我会以正确的方式解决这个问题吗?
我现在遇到的主要问题(这让我创建了这个问题)是服务器关闭时页面加载时的代码错误,因为我具有以下功能:
套接字.on(...
当套接字还不存在时。我可以将它们包装在一个函数中并在我检测到成功重新连接时存在全局套接字对象时调用它?是否多次调用包含 socket.on... 的函数(如果服务器在操作期间多次关闭)是否重要?