c#编写了一个socket通信机制,client向服务端发送一个*.txt的文件,服务端已经能够接收接收客户端法过来的信息了,但是程序没执行完出现“在分析完成之前就遇到流结尾。”错误信息
const int bufferSize = 4096000;
这是服务器程序:
TcpClient client = listener.AcceptTcpClient();
byte[] responseBuffer = new byte[bufferSize];
//接收客户端传过来的数据
NetworkStream clientStream = client.GetStream();
MemoryStream memStream = new MemoryStream();
int bytesRead = 0;
do
{ (这里已经显示接收了来自client发过来的字节数2750)
bytesRead = clientStream.Read(responseBuffer, 0, bufferSize);
memStream.Write(responseBuffer, 0, bytesRead); } while (bytesRead > 0);
BinaryFormatter formatter = new BinaryFormatter();
(程序读到这里报错“在分析完成之前就遇到流结尾。”)
newFile = (SerializeFile)formatter.Deserialize(memStream);//反序列化
//自定义存放目录 newFile.FileName 存放在debug下面
FileStream fs = new FileStream(newFile.FileName, FileMode.OpenOrCreate);
BinaryWriter w = new BinaryWriter(fs);
w.Write(newFile.FileData);
fs.Close();
memStream.Close();
MessageBox.Show("成功");请各位高手给小弟一点建议啊
const int bufferSize = 4096000;
这是服务器程序:
TcpClient client = listener.AcceptTcpClient();
byte[] responseBuffer = new byte[bufferSize];
//接收客户端传过来的数据
NetworkStream clientStream = client.GetStream();
MemoryStream memStream = new MemoryStream();
int bytesRead = 0;
do
{ (这里已经显示接收了来自client发过来的字节数2750)
bytesRead = clientStream.Read(responseBuffer, 0, bufferSize);
memStream.Write(responseBuffer, 0, bytesRead); } while (bytesRead > 0);
BinaryFormatter formatter = new BinaryFormatter();
(程序读到这里报错“在分析完成之前就遇到流结尾。”)
newFile = (SerializeFile)formatter.Deserialize(memStream);//反序列化
//自定义存放目录 newFile.FileName 存放在debug下面
FileStream fs = new FileStream(newFile.FileName, FileMode.OpenOrCreate);
BinaryWriter w = new BinaryWriter(fs);
w.Write(newFile.FileData);
fs.Close();
memStream.Close();
MessageBox.Show("成功");请各位高手给小弟一点建议啊
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货