Shr*_*500 0 c# networkstream stream
我不知道为什么这会抛出错误在解析完成之前遇到的流结束.我查看了这个链接,但没有任何内容解决了我的问题.我使用断点来找到它抛出错误女巫的确切点
Console.WriteLine("Message from client ");
Run Code Online (Sandbox Code Playgroud)
提前致谢
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();
}
Run Code Online (Sandbox Code Playgroud)
编辑*这是我的坏事实际代码没有错,我在客户端犯了错误.我使用Encoding.ASCII而不是二进制格式.
好吧,你假设一次调用stream.Read
将会读取所有数据.这几乎总是一个错误,特别是如果它是一个网络流.
你有什么理由不是一开始就打电话formatter.Deserialize(stream)
吗?
归档时间: |
|
查看次数: |
3001 次 |
最近记录: |