未及时收到回复、断开连接、未定义error,主动静默重连,不弹窗提示
This commit is contained in:
parent
f65285bf46
commit
a53dc6d688
@ -145,7 +145,8 @@ function NetManager:connect(domain, port, callback, socketName)
|
||||
end)
|
||||
|
||||
CS.BF.BFMain.Instance.NetMgr:AddLuaOnDisconnected(function(name)
|
||||
self:onDisconnect(name)
|
||||
-- self:onDisconnect(name)
|
||||
self:disconnectAndReconnect()
|
||||
end)
|
||||
|
||||
CS.BF.BFMain.Instance.NetMgr:AddLuaOnReceiveMessage(function(name, group, recvId, bytes)
|
||||
@ -554,6 +555,21 @@ function NetManager:disconnectAll()
|
||||
end
|
||||
end
|
||||
|
||||
function NetManager:disconnectAndReconnect()
|
||||
if self.alreadyConnected[NetManager.MAIN_SOCKET_NAME] then
|
||||
if self.reconnectMainId then
|
||||
return
|
||||
end
|
||||
self.reconnectMainId = self:performWithDelayGlobal(function ()
|
||||
self.reconnectMainId = nil
|
||||
self:silentReconnectMain()
|
||||
end, self.mainReconnectWaitTime)
|
||||
self.mainReconnectWaitTime = self.mainReconnectWaitTime + 1
|
||||
else
|
||||
self:closeAll()
|
||||
end
|
||||
end
|
||||
|
||||
function NetManager:showReconnectMain()
|
||||
if self.reconnectMainId then
|
||||
SchedulerManager:unscheduleGlobal(self.reconnectMainId)
|
||||
@ -832,7 +848,7 @@ function NetManager:onError(socketName, errorType, errorMsg)
|
||||
elseif errorType == NetErrorCode.DNSParseDomainNameError then
|
||||
self:closeAll()
|
||||
else -- 未定义的error
|
||||
self:disconnect(socketName)
|
||||
self:disconnectAndReconnect()
|
||||
end
|
||||
if not self.disconnectTime then
|
||||
self.disconnectTime = Time:getServerTime()
|
||||
|
||||
@ -794,7 +794,7 @@ function UIManager:showWaitNet(forceRestart)
|
||||
seq:AppendInterval(GConst.WAIT_NET_RSP_TIME)
|
||||
seq:OnComplete(function()
|
||||
-- 一段时间后还没收到回复就断开连接
|
||||
NetManager:disconnectAll()
|
||||
NetManager:disconnectAndReconnect()
|
||||
end)
|
||||
self.waitNetSeq = seq
|
||||
elseif not self.waitNetSeq:IsPlaying() then
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user