看看这段代码:
private bool SendPack(byte[] _Data)
{
try
{
NetworkStream clientStream = Servertcp.GetStream();
byte[] Pack = new byte[4 + _Data.Length];
byte[] len = BitConverter.GetBytes(_Data.Length);
len.CopyTo(Pack, 0);
buffer.CopyTo(Pack, 4);
clientStream.Write(Pack, 0, Pack.Length);
clientStream.Flush();
return true;
}
catch (Exception exp)
{
return false;
}
}
函数的行为很奇怪!有时数据是在客户端收到的,有时则不是。该函数通常返回true,但实际上没有收到数据,尽管客户端连接到服务器。当我对这个函数进行debuge时,我看到有时我在这行之后丢失了指针:clientStream.Write(Pack,0,Pack.Length);我的意思是指针在写入后不会返回到行...
任何帮助都将不胜感激。