private void HandleCustomMessage(NetBuffer buffer) { Debuger.Log(LOG_TAG_RECV, "HandleCustomMessage()"); m_ListCustomCmd_InSend.Clear(); buffer.Position = 0; buffer.Skip(4); List <SyncFrame> listFrame = FSPCodec.ReadFrameListFromBufferS2C(buffer); for (int i = 0; i < listFrame.Count; i++) { SyncFrame frame = listFrame[i]; for (int j = 0; j < frame.cmdList.Count; j++) { SyncCmd cmd = frame.cmdList[j]; HandleCustomCmd(cmd); } } m_CustomSendBuffer.Clear(); m_CustomSendBuffer.WriteUShort(0); m_CustomSendBuffer.WriteUShort(0); m_CustomSendBuffer.WriteUShort(m_SessionId); FSPCodec.WriteCmdListToBufferC2S(m_ListCustomCmd_InSend, m_CustomSendBuffer); SendBuffer(m_CustomSendBuffer, false); }
public void Close() { Debuger.Log(LOG_TAG_MAIN, "Close()"); Disconnect(); //m_FSPCodec = null;这个类既然是构造时生成,那么就应该一直存在。直接真正析构 m_FSPTimeoutHandler = null; m_WaitForReconnect = false; m_WaitForSendAuth = false; cachedCodec = null; }
//=========================================================== //=========================================================== //------------------------------------------------------------ #region 构造与析构 public FSPClient() { m_FSPCodec = new FSPCodec(); m_FSPCodec.EnableTimeOut = false; cachedCodec = m_FSPCodec; //初始化统计代码 LastRemotePort = 0; LastRemoteHost = ""; LastRemoteHostIP = ""; LastUseGSDK = false; LastFSPStartTimeSinceGameStart = Time.realtimeSinceStartup; }