读书人

询问SOCKET分块发送文件有关问题

发布时间: 2011-12-30 23:30:45 作者: rapoo

询问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();

[解决办法]
关注中,碰到了相同的问题
[解决办法]
不要这样处理,不然性能会很低而且会出问题!
你应该打开文件后先不要关闭,接收到数据后直接写入文件。当数据全部接收完闭后再关闭文件!

读书人网 >C#

热点推荐