public void Start(Stream inputStream, Stream outputStream) { _outputStream = outputStream; byte[] buffer = new byte[BUFFER_SIZE]; _stopRequested = false; while (!_stopRequested) { var read = inputStream.Read(buffer, 0, buffer.Length); if (read == 0) { // end of stream break; } if (read > 0) { _rawData.Append(buffer, read); ProcessData(); } } }
void SocketStreamLoop() { try { var clientSocket = tcpListener.AcceptSocket(); // blocked here networkStream = new NetworkStream(clientSocket); tcpListener.Stop(); tcpListener = null; debuggeeListener.X_DebuggeeArrived(this); while (true) { var buffer = new byte[10000]; var read = networkStream.Read(buffer, 0, buffer.Length); if (read == 0) { break; } // end of stream if (read > 0) { recvBuffer.Append(buffer, read); while (ProcessData()) { } } } } catch (Exception /*e*/) { //Program.MessageBox(IntPtr.Zero, e.ToString(), "LuaDebug", 0); } debuggeeListener.X_DebuggeeHasGone(); }