每当玩家在我的游戏中注销时,服务器都会断开客户端的连接;但是,当播放器在断开连接后尝试再次登录时,客户端会尝试更新连接 - 成功重新连接后,我会执行回调函数。我这样做是通过使用Socket.IO函数
client.io.reconnect();
服务器成功显示已建立新连接,但客户端似乎仍然完全断开连接。这是为什么?
摘要:服务器断开客户端连接。我无法让客户端成功重新连接并触发client.on('connect')
事件。
答案 0 :(得分:1)
客户端如果被迫断开连接,则无法重新连接。您可以在代码here和here中看到它:
// socket.js
/**
* Called upon forced client/server side disconnections,
* this method ensures the manager stops tracking us and
* that reconnections don't get triggered for this.
*
* @api private.
*/
// manager.js
Manager.prototype.reconnect = function(){
if (this.reconnecting || this.skipReconnect) return this;
如果您害怕失去听众,请引入一个函数来添加这些听众并在需要时添加它们:)