private void _StartSending() { if (IsConnected()) { if (m_CurrentlySending == false) { if (m_OutgoingMessages.TryDequeue(out m_CurrentOutgoingMessage) == true) { m_CurrentlySending = true; m_Socket.BeginSend(m_CurrentOutgoingMessage._GetBuffer(), 0, m_CurrentOutgoingMessage._GetBufferSize() , SocketFlags.None, new AsyncCallback(SendCallback), this); } else { m_CurrentOutgoingMessage = null; } } } }
internal void _StartSending() { try { if (m_CurrentlySending == false) { if (m_Messages.TryDequeue(out m_CurrentOutgoingMessage) == true) { m_CurrentlySending = true; m_Socket.BeginSend(m_CurrentOutgoingMessage._GetBuffer(), 0, m_CurrentOutgoingMessage._GetBufferSize() , SocketFlags.None, new AsyncCallback(SendCallback), this); } else { m_CurrentOutgoingMessage = null; } } } catch (Exception ex) { m_Exceptions.Enqueue(ex); m_CurrentlySending = false; } }