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