GameCore.NetWork.CNetTCPSocketConnect.Update C# (CSharp) Метод

Update() публичный Метод

连接器更新
public Update ( int &nID ) : ENUM_SOCKET_STATE
nID int
Результат ENUM_SOCKET_STATE
        public ENUM_SOCKET_STATE Update(out int nID)
        {
            ENUM_SOCKET_STATE sState = ENUM_SOCKET_STATE.eSocket_DisConnected;

            nID = m_nSocketID;

            if (null != m_NetStateListener)
            {
                if (m_IPAddrMsg.m_IsNeedCallConnected)
                {
                    sState = ENUM_SOCKET_STATE.eSocket_Connected;
                    m_NetStateListener.del_OnConnectSuccess(m_nSocketID);
                    m_IPAddrMsg.m_IsNeedCallConnected = false;
                }
                else if (m_IPAddrMsg.m_IsNeedCallDisConnect)
                {
                    sState = ENUM_SOCKET_STATE.eSocket_DisConnected;
                    m_NetStateListener.del_OnDisconnect(m_nSocketID);
                    m_IPAddrMsg.m_IsNeedCallDisConnect = false;
                }
            }

            if (m_IPAddrMsg.m_IsNeedClose)
            {
                DisConnection();
                return sState;
            }

            if (null != m_NetStateListener)
            {
                m_NetStateListener.del_Update(m_nSocketID);
            }

            return sState;
        }

Usage Example

Пример #1
0
        //-------------------------------------------------------------------------
        private void __Update(CNetTCPSocketConnect connect)
        {
            if (null == connect)
            {
                return;
            }

            int nID = SNetCommon.NUNE_VALUE;
            // 进入连接器 状态回调
            ENUM_SOCKET_STATE sState = connect.Update(out nID);

            if (nID == m_ReadyToConnectSID)
            {
                m_currentConnectState = sState;
                m_currentConnectedSID = m_ReadyToConnectSID;
            }

            // 消息取出来 外部进行消息分发
            if (connect.IsConnect())
            {
                List <SocketNetPacket> packList = new List <SocketNetPacket>();
                connect.GetAllReceivePack(packList);
                foreach (SocketNetPacket tempack in packList)
                {
                    NetMessageRecieveHandle.GetInstance().OnRecvMessage(tempack);
                }
            }
        }
All Usage Examples Of GameCore.NetWork.CNetTCPSocketConnect::Update