public void Hide() { if (0 == SocketHandler.GetInst().GetShortConnListCount()) { CancelInvoke("_Show"); gameObject.SetActive(false); } }
public static void SetUrl() { if (null == m_sCurServerInfo) { Debug.LogError("LoginServer has not defined in ip.xml!"); } SocketHandler.GetInst().LongSetUrl(m_sCurServerInfo[1], m_sCurServerInfo[2], 0); }
public static void SetUrl() { if (null == _sCurServerInfo) { Debug.LogError("LoginServer has not defined in ip.xml!"); } SocketHandler.GetInst().ShortSetUrl(_sCurServerInfo[1], int.Parse(_sCurServerInfo[2])); }
public static void PostMessageShort(ConnectBase conn, ByteBuffer buff) { lock (m_Locker) { SocketHandler.GetInst().ShortClose((ConnectShort)conn); ServerData data = new ServerData(conn, buff, true); m_lstData.Enqueue(data); } }
void OnDestroy() { for (int i = 0; i < _arrLongConn.Length; ++i) { if (null != _arrLongConn[i]) { _arrLongConn[i].Close(); } } UdpEnd(); m_Inst = null; }
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; } }
private void OnUpdate() { _t += Time.deltaTime; if (_t > 0.025f) { if (BattleManager.GetInst().BattleType == 1) { BattleManager.GetInst().SetFieldPos(++_frame); } else { if (_bMine) { _roleX = (int)(m_Transform.localPosition.x * 1000); _roleY = (int)(m_Transform.localPosition.y * 1000); } else if (IsRobot) { _robot.RobotControl(this); } if (_bMine) { if (_roleX != _lastX || _roleY != _lastY) { _lastX = _roleX; _lastY = _roleY; ByteBuffer buff = new ByteBuffer(12); buff.writeInt(PlayerData.PlayerId); buff.writeInt(_roleX); buff.writeInt(_roleY); SocketHandler.GetInst().UdpSend(buff); } } } _t -= 0.025f; } }
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); } } } }
public void OnLoginSuccess(string msg) { RoleData.Account = string.Empty; RoleData.Token = msg; SocketHandler.GetInst().LongConnect(0); }
void Awake() { m_Inst = this; }
void OnDestroy() { m_Inst = null; }
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; } }
static public void ExecuteLong(ArrayList paramList1, ArrayList paramList2) { ByteBuffer data = PackData(paramList1, paramList2, false); SocketHandler.GetInst().LongSend(data, 1); }
static public void ExecuteShort(ArrayList paramList1, ArrayList paramList2, bool bFlag = false) { ByteBuffer data = PackData(paramList1, paramList2); SocketHandler.GetInst().ShortSend(data, bFlag); }
public override void ProcessMessage(ConnectBase conn, ByteBuffer data) { int moduleId = data.readByte(); switch (moduleId) { case LOAD: { int type = data.readByte(); int roomId = data.readInt(); int seed = data.readInt(); int frequency = data.readByte(); int stairs = data.readInt(); int size = data.readByte(); List <BattlePlayerData> others = new List <BattlePlayerData>(); for (int i = 0; i < size; ++i) { BattlePlayerData player = new BattlePlayerData(); player.PlayerId = data.readInt(); player.IsRobot = data.readBoolean(); player.PlayerName = data.readUTF(); player.SceneId = data.readByte(); player.HeroId = data.readByte(); player.HP = 5; others.Add(player); } if (type == 1) { BattleManager.GetInst().LoadDouble(roomId, seed, frequency, stairs, others); } else if (type == 2) { BattleManager.GetInst().LoadFive(roomId, seed, frequency, stairs, others); } break; } case START: { BattleManager.GetInst().BattleStart(); SocketHandler.GetInst().UdpStart(); break; } case SYNC_HP: { int playerId = data.readInt(); int hp = data.readByte(); BattleManager.GetInst().SyncHp(playerId, hp); break; } case GET_ITEM: { int playerId = data.readInt(); int item = data.readByte(); BattleManager.GetInst().EnqueueSkill(playerId, item); break; } case RELEASE_SKILL: { int fromId = data.readInt(); int toId = data.readInt(); int type = data.readByte(); bool bMain = data.readBoolean(); BattleManager.GetInst().ReleaseSkill(fromId, toId, type); if (!bMain) { BattleManager.GetInst().DequeueSkill(fromId); } break; } case RESULT: { BattleManager.GetInst().IsBattleRun = false; int playerId = data.readInt(); BattleManager.GetInst().DisableHero(playerId); BattleResultPanel.GetInst().ShowPanel(playerId); break; } case HERO_FAILED: { int playerId = data.readInt(); BattleManager.GetInst().SetFailed(playerId); break; } } }