void Update() { lock (m_Locker) { if (m_lstData.Count > 0) { ServerData temp = m_lstData.Dequeue(); MessageArrived(temp.conn, temp.buff); if (temp.bShort && null != SocketHandler.ShortSendBackFun) { SocketHandler.ShortSendBackFun(); } } } }
public const int SCONNECT_EXCEPTION = 4; //短连接错误(登陆) public override void ProcessMessage(ConnectBase conn, ByteBuffer data) { int errCode; int moduleId = data.readByte(); switch (moduleId) { case SCONNECT_EXCEPTION: errCode = data.readInt(); MsgBoxPanel.MsgCallback Reconnect = () => { ConnectShort co = (ConnectShort)conn; SocketHandler.GetInst().ShortSend(co.m_Data, co.m_bFlag, co.m_bNeedEncrypt); SocketHandler.ShortSendBackFun(); }; MsgBoxPanel.ShowMsgBox(errCode.ToString(), (string)ApplicationConst.dictStaticText["22"], 1, Reconnect); break; default: break; } }
void Update() { lock (m_Locker) { if (m_lstData.Count > 0) { ServerData temp = m_lstData.Dequeue(); MessageArrived(temp.conn, temp.buff); if (temp.bShort && null != SocketHandler.ShortSendBackFun) { SocketHandler.ShortSendBackFun(); } } } lock (m_LockerUdp) { if (m_queUdpData.Count > 0) { ByteBuffer data = m_queUdpData.Dequeue(); int frame = data.readInt(); int size = data.readByte(); for (int i = 0; i < size; ++i) { int playerId = data.readInt(); float roleX = data.readInt() / 1000f; float roleY = data.readInt() / 1000f; BattleManager.GetInst().SetRolePos(playerId, roleX, roleY); } if (BattleManager.GetInst().BattleType == 2) { BattleManager.GetInst().SetFieldPos(frame); } } } }
private const int LONG_MESSAGE_END = 5; //长链接消息结束 public override void ProcessMessage(ConnectBase conn, ByteBuffer data) { int type, errCode; int moduleId = data.readByte(); switch (moduleId) { case LONG_CONNECTED: type = data.readByte(); if (type == 0) { LoginPanel.GetInst().OnPlatformLogin(); } else { CommonCommand.ExecuteLongBattle(Client2ServerList.GetInst().C2S_BATTLE_LOGIN, new ArrayList() { PlayerData.PlayerId }); } //ConnectLong.GetInst().ConnectedFunc(); break; case LCONNECT_EXCEPTION: type = data.readByte(); errCode = data.readInt(); if (10049 == errCode || //Cannot assign requested address 10051 == errCode || //Network is unreachable 10054 == errCode || //Connection reset by peer 10057 == errCode || //Socket is not connected 10058 == errCode || //Cannot send after socket shutdown 10060 == errCode || //Connection timed out 10061 == errCode || //Connection refused 0 == errCode) //Directly send error { if (type == 0) { ApplicationEntry.ToLoginScene(); } } else if (10053 != errCode) { Debug.LogError(string.Format("LCONNECT_EXCEPTION-Code:{0}", errCode)); } break; case SCONNECT_EXCEPTION: errCode = data.readInt(); MsgBoxPanel.MsgCallback Reconnect = () => { ConnectShort co = (ConnectShort)conn; SocketHandler.GetInst().ShortSend(co.m_Data, co.m_bFlag, co.m_bNeedEncrypt); SocketHandler.ShortSendBackFun(); }; MsgBoxPanel.ShowMsgBox(string.Empty, (string)ApplicationConst.dictStaticText["22"], 1, Reconnect); break; case LONG_MESSAGE_END: Connecting.GetInst().ForceHide(); break; default: break; } }