Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public void Close()
 {
     Debuger.Log(LOG_TAG_MAIN, "Close()");
     Disconnect();
     //m_FSPCodec = null;这个类既然是构造时生成,那么就应该一直存在。直接真正析构
     m_FSPTimeoutHandler = null;
     m_WaitForReconnect  = false;
     m_WaitForSendAuth   = false;
     cachedCodec         = null;
 }
Exemplo n.º 3
0
        //===========================================================
        //===========================================================
        //------------------------------------------------------------
        #region 构造与析构
        public FSPClient()
        {
            m_FSPCodec = new FSPCodec();
            m_FSPCodec.EnableTimeOut = false;
            cachedCodec = m_FSPCodec;

            //初始化统计代码
            LastRemotePort   = 0;
            LastRemoteHost   = "";
            LastRemoteHostIP = "";
            LastUseGSDK      = false;
            LastFSPStartTimeSinceGameStart = Time.realtimeSinceStartup;
        }