NetworkStream读写是否在同一流上进行?

时间:2018-06-21 23:33:29

标签: c# .net

我试图了解NetworkStream在TCPListener包装器中的工作方式。服务器上的TCPclient和客户端上的TCPclient之间只有一个通信流?还是应该以其他方式完成?

如果我仅从服务器写入并从客户端读取,或者仅从客户端写入并从服务器读取,则此方法有效。但是,当我在任何一个代码块中读写时,都会抛出异常。

我不是想通过在同一流上进行读写来完成任何特定的事情。我试图更好地了解NetworkStream的工作方式。我尝试查找类似的问题,但是找不到类似的问题来解释为什么我的代码引发异常。如果已经回答了,请将我重定向到该问题。谢谢。

我的代码抛出异常:“无法从传输连接读取数据:已建立的连接已被主机中的软件中止。”

client = server.AcceptTcpClient();
NetworkStream stream = client.GetStream();

byte[] data_s = Encoding.ASCII.GetBytes("Hey");
stream.Write(data_s, 0, data_s.Length);
stream.Flush();

byte[] receivedBuffer = new byte[100];
stream.Read(receivedBuffer, 0, receivedBuffer.Length);
string msg = Encoding.ASCII.GetString(receivedBuffer, 0,receivedBuffer.Length);

System.Diagnostics.Debug.WriteLine(msg);

0 个答案:

没有答案