title: COM port communication with Virtual PC (part 2)
body: <p>This question is related to my <a href="https://stackoverflow.com/questions/4906784/com-port-communication-with-virtual-pc">earlier question</a>.</p>
  
  <p>Connecting to the pipe is now successful, but I still cannot read (or write) any data from the port.</p>
  
  <p>My first guess was, that the data are buffered. But even when I write (on the client site) 5000 bytes (the buffer in NamedPipeClientStream is 512 byte large), I do not receive any 
  data.</p>
  
  <p>PipeOptions.WriteThrough didn't changed anything, too.</p>
  
  <p>When I do not use a pipe, but a textfile (in the Virtual-PC settings) to redirect the data written to the COM-Port, the data are written as expected to the textfile. So the client test programm, running in Virtual-PC, is doing fine. The problem is likely in my code below.</p>
  
  <pre><code>var pipe = new NamedPipeClientStream(".", "mypipe", PipeDirection.InOut, PipeOptions.WriteThrough);
  
  pipe.Connect();
  
  // this is blocking
  int i = pipe.ReadByte();
  
  var reader = new StreamReader(pipe);
  // this is blocking, too
  var s = reader.ReadLine();
  </code></pre>
  
  <p><strong>Update:</strong></p>
  
  <p>The code I am running on the guest os:</p>
  
  <pre><code>var port = new SerialPort("COM1");
  port.Open();
  
  port.WriteLine("Hallo");
  </code></pre>
  
  <p>Using 'echo' in an command prompt as telewin suggested works fine.
  What is the difference between echoing and using the above code?</p>