我需要一些帮助。我有一个使用 C# TCPClient 的简单服务器客户端应用程序
我遇到的问题是,当客户端向服务器发送消息时,服务器返回一个包含数字的 4 字节响应。
但是,每 3 或 4 个响应,字节都在同一个错误的位置。
例如:
服务器响应带有一个包含整数 243 的字节数组:
byte[0] => 243
byte[1] => 0
byte[2] => 0
byte[3] => 0
客户端接收到的 4 个字节如下:
byte[0] => 0
byte[1] => 0
byte[2] => 243
byte[3] => 0
这是一个整数 15925248 而不是 243。
这是服务器代码的片段。当客户端发送消息时执行代码:
byte[4] resp = new byte[4];
Buffer.BlockCopy(BitConverter.GetBytes(243), 0, resp, 0, 4);
clientStream.Write(resp, 0, resp.Length);
clientStream.Flush();
这是要接收的客户端代码片段:
Byte[] rec = new Byte[4] {0xx0, 0x00, 0x00, 0x00};
if (netStream.CanRead)
{
int numberOfBytesRead = 0;
do
{
numberOfBytesRead = netStream.Read(rec, 0, rec.Length);
} while (netStream.DataAvailable);
}
我已经完成了以下操作: - 验证服务器确实正确发送了字节数组。
我不知道我在这里做错了什么。或者我的代码中是否存在错误。