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; }
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; } }