【发布时间】:2015-08-14 04:48:21
【问题描述】:
我的NetworkStream 在第一次读/写后返回完全随机数
这是我的代码
String message = "";
Stream Stream = client.GetStream();
byte[] buffer = new byte[4096];
int read = Stream.Read(buffer, 0, 4096);
int index = 0;
while (buffer[index] != 0)
{
message += ((char)buffer[index]);
index++;
}
Console.WriteLine(message.Trim());
buffer = System.Text.Encoding.UTF8.GetBytes("Received at:" + DateTime.Now);
Stream.Write(buffer, 0, buffer.Length);
Stream.Flush();
Thread.Sleep(300);
Console.WriteLine("Message received at:" + DateTime.Now);
if (message == "")
{
Run = false;
Console.WriteLine("Verbinding sluiten");
Console.ReadLine();
}
【问题讨论】:
-
我非常怀疑它返回的是 random 数字。无论如何,这不是将二进制转换为文本的好方法,请注意。请展示您认为您发送的内容和您看到的内容。
-
顺便说一句:如果你想回显你应该使用的消息
Stream.Write(buffer, 0, read);read 可能小于 buffer.Length (同样的事情是也适用于您的 while 循环)