Exemplo n.º 1
0
        void Clear()
        {
            if (m_ar_Connect != null)
            {
                m_ar_Connect.AsyncWaitHandle.Close();
            }
            if (m_ar_Recv != null)
            {
                m_ar_Recv.AsyncWaitHandle.Close();
            }
            if (m_ar_Send != null)
            {
                m_ar_Send.AsyncWaitHandle.Close();
            }

            YwEncrypt.ResetKey();
            mRequestList.Clear();
            mRecvBuffer.Clear();
            mPackNum = 0;
        }
Exemplo n.º 2
0
        public void Start(string ip, int port)
        {
            lock (mLock)
            {
                if (mNetState == ENetState.ES_Connecting || mNetState == ENetState.ES_Connecting)
                {
                    return;
                }

                YwEncrypt.ResetKey();
                mRequestList.Clear();
                mRecvBuffer.Clear();
                mPackNum = 0;

                mNetState = ENetState.ES_UnInit;

// comment at 2013-9-29
//				if (mSocket == null)
//					mSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

                //mThread = new Thread(new ThreadStart(_thread_run));
                //mThread.IsBackground = true;
                //mThread.Start();

                if (ip == mServerIP && port == mServerPort && mSocket.Connected)
                {
                    //mListener.OnConnect();
                    this.OnConnect();
                    return;
                }

                mServerIP   = ip;
                mServerPort = port;
                Connect();

                mNetState        = ENetState.ES_Connecting;
                mConnectWaitTime = 0;
            }
        }