询问SOCKET分块发送文件问题
发送端用 filestream一段一段读入一个缓冲区,然后利用socket将一个文件分块发送出去。客户端同样接收到一块一块的文件。问题如下:
因为文件是被分块发过来的。那么每次调用将数据冲缓冲取出并存入文件中。应该怎么写
fs = new FileStream( "c:\xx.txt ",FileMode.Append, FileAccess.Write);
fs.Write(ReceiveFiles, 0, ReadSize);
fs.Flush();
每次接收到文件块都用上面的代码是不是有问题?应该如何写,才能将每次接收到的文件块分批存入文件。最终是文件可以正常使用??谢谢,盼复
------解决方案--------------------上说的对
fs = new FileStream( "c:\xx.txt ",FileMode.Append, FileAccess.Write);
byte [] b=new (f.length)
int k=0;
while((k=fs.Read(b,0,b.Length))> 0)
{
string tmp=Encoding.UTF8.GetString(b,0,k);
MessageBox.show(tmp)
}
fs.Close();
------解决方案--------------------关注中,碰到了相同的问题
------解决方案--------------------不要这样处理,不然性能会很低而且会出问题!
你应该打开文件后先不要关闭,接收到数据后直接写入文件。当数据全部接收完闭后再关闭文件!