Esempio n. 1
0
        private void Close()
        {
            if (true == m_bSending.IsTrue())
            {
                Logger.Error("Call Close When SendIng message");
            }
            else
            {
                if (0 != m_listSend.Count)
                {
                    Logger.Error("Call Close When listSend Count {0}", m_listSend.Count);
                }
                m_listSend.Clear();
            }

            ArraySegment <byte> arrSegment;

            while (m_queueSend.TryDequeue(out arrSegment))
            {
                m_pooledBufferManager.Return(arrSegment.Array);
            }

            if (null != m_socket)
            {
                m_socket.CloseEx();
                //Task.Run(() => { m_socket.CloseEx(); });
                m_socket = null;
            }
        }
Esempio n. 2
0
        public bool IsConnected()
        {
            if (null == m_socket)
            {
                return(false);
            }
            if (true == m_bClosing.IsTrue())
            {
                return(false);
            }
            if (true == m_bClosed.IsTrue())
            {
                return(false);
            }

            return(true);
        }