一个关于FTP的问题,文件切割上传

Sumel 2005-10-10 08:50:59
小弟现在要做一个FTP上传的功能,对于多文件多线程已实现,现在的问题是:如果上传的某个文件很大(>2M)想采取把文件分割成几块,然后采用多线程上传。文件分割知道怎么做,现在就是上传,还有上传后文件如何组合?小弟采用IdFTP控件,不知是否合适?各位高手大哥有什么好的建议,请不吝赐教~~谢谢~~
...全文
430 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fbms3 2005-10-11
  • 打赏
  • 举报
回复
用indy的话就不要管了。她自己的设置就是最好的。
netsys2 2005-10-10
  • 打赏
  • 举报
回复
一个文件在电脑是怎样存在的?
---->按扇区存储的,(在google中查询)

所以我们能设置一个或几个点把文件给分割了?
---->随便你怎么分都可以!反正fopen后可以fseek

比如一个600M的视频或什么文件,怎么存在的?
---->存为一个大文件,至于这个文件是怎么存放和管理的,是操作系统的事,
不需要你关心,你只需要fopen它,然后fseek到想要的位置,然后fread就可以
了!
Sumel 2005-10-10
  • 打赏
  • 举报
回复
谢谢netsys2大哥的留言,正在看Postel & Reynolds 写的RFC959(关于FTP协议,全是英文,好吃力,呵呵),想到什么疑问,再讨论^_^

还有一个相关的问题,一个文件在电脑是怎样存在的?二进制代码,所以我们能设置一个或几个点把文件给分割了?比如一个600M的视频或什么文件,怎么存在的?从微观和宏观都解释一下,谢谢哪个知道的高手大哥^_^
netsys2 2005-10-10
  • 打赏
  • 举报
回复
FTP是基于TCP的协议,TCP是一个“流协议”,就是说两边开好通道后,一边
按次序不断发送,另一边连续接收。

之所以要设置SendBufferSize,是因为由于通信处理的原因,如果发送太快,
对方接收不了,需要重传,浪费资源。

实际上你不用关心这个。按缺省的就可。

如果上传的文件比较大,FTP CLIENT会逐块读取文件数据,然后发送到对方,不
需要你干预,你只需要告诉它发送什么文件就可以了。它会自动发送,如果发送
失败,会告诉你,你需要重传。(注意,有的FTP SERVER不支持断点续传的)
Sumel 2005-10-10
  • 打赏
  • 举报
回复
谢谢各位高手大哥的留言

我在查看IdFTP组件的相关知识是看到:
SendBufferSize说明(默认值为32768字节):该属性也为整型变量,用于指定连接所用的发送缓冲区的最大值。该属性在WriteStream方法中时,可用于TStream指定要发送内容的块数。如果要发送的内容大于本属性值,则发送内容被分为多个块发送。

如果上传的文件比较大,FTP是怎样上传这个大文件呢?

还有哪个大哥知道IdFTP组件的详细说明,告一声,谢谢^.^
constantine 2005-10-10
  • 打赏
  • 举报
回复
下载倒是可以,上传不行,都不支持,你不如倒过来,把原来的服务器跟客户端交换,下多线程断点下载就一样了,^_^
我不懂电脑 2005-10-10
  • 打赏
  • 举报
回复
文件合并的话,需要自己实现,ftp本身是不支持的。
binbin 2005-10-10
  • 打赏
  • 举报
回复
下载多线程还差不多,利用断点续传功能多个线程从不同断点下载.上传的话FTP服务器不支持文件合并FTP协议里好象没有规定.你得用其他方式写一个server程序运行在同一服务器上,用你自己的协议控制这个server合并文件
netsys2 2005-10-10
  • 打赏
  • 举报
回复
如果FTP SERVER是你自己做的,就容易实现,否则不行。

实际上你没有必要用FTP这样做。FTP单线程还是很快的,并且大多都支持断点续传!

如果你非得要多点传输,换自己的SERVER试试
shadowstar 2005-10-10
  • 打赏
  • 举报
回复
大多数网络服务都是主要提供下载的,所以上传没办法提高效率,而且实际意义也不大。
Sumel 2005-10-10
  • 打赏
  • 举报
回复
那么,做一个FTP客户端,当上传的文件很大时,应该如何做,提高传输效率?就是尽量在短时间内传完,各位高手大哥有什么高见?

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧