Error when trying to use StreamReader to read from a NetworkStream

  • Thread starter Thread starter Al Wilkerson
  • Start date Start date
A

Al Wilkerson

Hey,

Has anyone ever got a "Unable to read data from transport connected" message
after reading data from a streamreader composed of a networkstream.

For example:

Server

TcpListener tcpServer = new TcpListener(localAddr,port);

TcpClient tcpClient = new TcpClient()
tcpClient = tcpServer.AcceptTcpClient();

NetworkStream networkStream = tcpClient.GetStream();

StreamWriter stringWriter = new StringWriter(networStream);

string lstrData = "An XML string"; // this is really a xml string
stringWriter.WriteLine(lstrData);
stringWriter.Flush();

-----------------------------


Client
--------

TcpClient tcpClient = new TcpClient("localhost",port);

NetworkStream networkStream = tcpClient.GetStream();

StreamReader streamReader = new StreamReader(networkStream);
string strData = streamReader.ReadLine();

-----------------------------------------------

When debugging networkStream is readable and has dada available, but
streamReader.ReadLine() returns the above error message: "Unable to read
data from transport connected".

BTW, the Server is sending the data fine, it's just the client that's not
reading fromt he stream.

Does anyone have any ideas of what I might be doing wrong here?

Much thanks in advance,
 
Al Wilkerson said:
Has anyone ever got a "Unable to read data from transport connected" message
after reading data from a streamreader composed of a networkstream.

That sounds quite odd. Could you post a short but complete program
which demonstrates the problem?

See http://www.pobox.com/~skeet/csharp/complete.html for details of
what I mean by that.

(The code you provided wouldn't compile - StringWriter isn't a
StreamWriter, for starters.)
 
Never mind I found out I had another StreamReader object hanging around. So
my problem is fixed.

Thanks,

Al
 
Back
Top