刚接触C#网络通信,想写一个聊天程序,但是在呢天stream.Read()函数上遇到了点麻烦,请大虾指点一二。
我写的代码如下:
private NetworkStream nws = null;
//接收消息线程
private void ReceiveMsg()
{
while (true)
{
byte[] packet = new byte[_maxPacket];
nws.Read(packet, 0, packet.Length);
string receivestring = DecodingBytes(packet);
{
解码packet,显示消息函数
}
}
}
//发送端代码
receiverSkt.Send(Encoding.Unicode.GetBytes(receivestring));
然后问题就出现了,当顺利收到第一条消息后,按道理应该没有网络流,nws.Read(packet,0,packet.Length)应该处于等待状态,但是我调试的时候发现它一直在执行,且packet中接收到的都是全0(应该是空流)。这是什么情况???