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