protected void ProcessReceive(SocketAsyncEventArgs ReceiveEventArgs) { if (_ChannelIsClosed) { return; } try { ActiveDateTime = DateTime.Now; if (ReceiveEventArgs.SocketError != SocketError.Success || ReceiveEventArgs.BytesTransferred == 0) { Log.Error(ReceiveEventArgs.SocketError.ToString()); Close(); return; } Log.Debug("Receive " + ReceiveEventArgs.BytesTransferred + " bytes"); if (_UseSSL) { _StreamSSL.Decrypt(_RecvBuffer, 0, ReceiveEventArgs.BytesTransferred); } else { _RecvStream.Write(_RecvBuffer, 0, ReceiveEventArgs.BytesTransferred); ProcessReceivedData(); } } catch (Exception ex) { Close(ex); } StartReceive(); }
/// <summary> /// /// </summary> void ThreadReceive() { byte[] buffer = new byte[4096]; do { int bytes = _ClientSocket.Receive(buffer); if (bytes <= 0) { break; } _StreamSSL.Decrypt(buffer, 0, bytes); }while (true); }
protected override void ProcessReceive(SocketAsyncEventArgs ReceiveEventArgs) { ActiveDateTime = DateTime.Now; if (ReceiveEventArgs.SocketError != SocketError.Success || ReceiveEventArgs.BytesTransferred == 0) { Log.Error(ReceiveEventArgs.SocketError.ToString()); Close(); return; } Log.Debug("Receive " + ReceiveEventArgs.BytesTransferred + " bytes"); _StreamSSL.Decrypt(_RecvBuffer, 0, ReceiveEventArgs.BytesTransferred); StartReceive(); }
public bool Start() { Listener.Start(); client = Listener.AcceptSocket(); if (!_StreamSSL.AuthenticateAsServer(client, X509Cert)) { return(false); } byte[] buffer = new byte[4096]; do { int bytes = client.Receive(buffer, 0, buffer.Length, SocketFlags.None); if (bytes <= 0) { break; } if (!_StreamSSL.Decrypt(buffer, 0, bytes)) { break; } }while (true); return(false); }