为什么在解析完成之前遇到流的结束

  • 本文关键字:遇到 结束 c# stream networkstream
  • 更新时间 :
  • 英文 :


我不确定为什么这会抛出错误 在解析完成之前遇到的流结束。我查看了此链接,但在我的情况下没有任何内容可以解决问题。 我使用断点来找到它抛出错误的确切点 女巫是

       Console.WriteLine("Message from client ");

提前致谢

   if (stream.DataAvailable)
   {
       byte[] buffer = new byte[10024];
       int byteCount = stream.Read(buffer, 0, buffer.Length);
       byte[] inBytes = new byte[byteCount];
       for (int counter = 0; counter < byteCount; counter++)
           inBytes[counter] = buffer[counter];
       BinaryFormatter formatter = new BinaryFormatter();
       MemoryStream memory = new MemoryStream();
       memory.Write(inBytes,0,inBytes.Length);
       object message = (object)formatter.Deserialize(memory);
       Console.WriteLine("Message from client ");
       memory.Close();
   }

编辑* 这是我的错 这里的实际代码没有任何问题 我在客户端犯了错误。 我使用了Encoding.ASCII而不是二进制格式化程序。

好吧,你假设对stream.Read的一次调用将读取所有数据。这几乎总是一个错误,特别是如果它是一个网络流。

有什么理由你一开始就不打电话给formatter.Deserialize(stream)吗?

这是我

的错 这里的实际代码没有任何问题 我在客户端犯了错误。 我使用了Encoding.ASCII而不是二进制格式化器。

相关内容

  • 没有找到相关文章

最新更新