发送端用 filestream一段一段读入一个缓冲区,然后利用socket将一个文件分块发送出去。客户端同样接收到一块一块的文件。问题如下:因为文件是被分块发过来的。那么每次调用将数据冲缓冲取出并存入文件中。应该怎么写fs = new FileStream("c:\xx.txt",FileMode.Append, FileAccess.Write);
fs.Write(ReceiveFiles, 0, ReadSize);
fs.Flush();每次接收到文件块都用上面的代码是不是有问题?应该如何写,才能将每次接收到的文件块分批存入文件。最终是文件可以正常使用??谢谢,盼复
fs.Write(ReceiveFiles, 0, ReadSize);
fs.Flush();每次接收到文件块都用上面的代码是不是有问题?应该如何写,才能将每次接收到的文件块分批存入文件。最终是文件可以正常使用??谢谢,盼复
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();
fs = new FileStream("c:\xx.txt",FileMode.Append, FileAccess.Write);
fs.Write(ReceiveFiles, 0, ReadSize);
fs.Flush();
,但是,我看你写的代码,意思是把数据全部接收完后,再一块一块地写入文件是吗?好像和我的意思不大一样。。还有,我在网上看到有人说,使用sokcet只能传输txt或图片,传送其他的文件必须使用tcp或udp类是吗?