/// <summary> /// 协议解析处理 /// </summary> /// <param name="dates">协议数据</param> /// <param name="sessionID">连接SessionID</param> /// <returns>是否解析成功</returns> public bool Parse(RecvedProtocolDataInfo protoData) { m_protoData = protoData; if (InternalProtocolClientHelper.IntepretMessage(m_protoData.m_Datas, this)) { return(true); } if (InternalProtocolServerHelper.IntepretMessage(m_protoData.m_Datas, this)) { return(true); } return(false); }
/// <summary> /// 连接服务器成功 /// </summary> /// <param name="svrinfo">服务器信息</param> /// <param name="sessionID"></param> public void OnConnectSvrSucc(ref com.tieao.mmo.interval.PtServerInfo svrinfo) { SvLogger.Info("OnConnectSvrSucc Begin : ServerType={0}, IP={1}, Port={2}.", svrinfo.m_Type, svrinfo.m_Address, svrinfo.m_Port); if (Network.NetworkManager.Instance.IsNeedRegistServer(svrinfo.m_Type)) { SvLogger.Info(" RegServer To {2} Server : IP={0}, Port={1}.", svrinfo.m_Address, svrinfo.m_Port, svrinfo.m_Type); if (Network.NetworkManager.Instance.HadRegistedServer(svrinfo.m_Type) == true) { //去重新注册 Network.NetworkManager.Instance.SendMessageToServer(m_protoData.m_SessionID, InternalProtocolServerHelper.ReRegisterSvr(SvrCommCfg.Instance.ServerInfo)); } else { //去注册 Network.NetworkManager.Instance.SendMessageToServer(m_protoData.m_SessionID, InternalProtocolServerHelper.RegisterSvr(SvrCommCfg.Instance.ServerInfo)); } } else { svrinfo.m_SessionID = m_protoData.m_SessionID; int errCode = RegServerManager.Instance.RegServer(ref svrinfo); if (errCode != 0) { SvLogger.Error(" RegServer Fail!"); } else { if (SvrCommCfg.Instance.ServerInfo.m_Type == eServerType.GAMEDATA && svrinfo.m_Type == eServerType.DATABASE) { //通知DBS可以发送数据过来 Network.NetworkManager.Instance.SendMessageToServer(m_protoData.m_SessionID, com.tieao.mmo.database4server.server.GDSUpdate2DBSServerHelper.RequestAllPlayerData()); } } } InternalProtocolDealDelegate.Instance.OnConnectServerSucc(svrinfo, ""); SvLogger.Info("OnConnectSvrSucc Done."); }