客户端为PDA,发送数据代码段如下:// 发送数据
string sXML = cmd.ToXMLString();
Byte[] data = System.Text.Encoding.Unicode.GetBytes(sXML);
NetworkStream stream = client.GetStream();
stream.Write(data, 0, data.Length);
stream.Flush();
服务器端为PC机,接收代码段如下:
cpClient client = server.AcceptTcpClient();
NetworkStream stream = client.GetStream();
Byte[] buffer = new Byte[1024];
String sXML = "";
int totalRead = 0;
int numberOfBytesRead = 0;
do
{
numberOfBytesRead = stream.Read(buffer, 0, buffer.Length);  
sXML = String.Concat(sXML, Encoding.Unicode.GetString(buffer, 0, numberOfBytesRead));  
totalRead += numberOfBytesRead;
}
while (stream.DataAvailable);
现在有个问题,客户端发送600字节的数据,服务器有时能完整的接收下来,有时却只接收到部份,如536字节。在数据小于200字节的情况下每次都能完整接收下来,数据量稍一大就会有问题。搞不清楚问题的原因在哪里,服务器端开了1024字节的缓冲区,比数据量要大的,怎么还会出现数据不完整的现象啊?