原帖由 flw 于 2007-11-2 12:00 发表
呵呵,我现在就在写一个你所说的“烂客户端”,看来我们俩是死对头。
我这个客户端要求服务器支持多线程上传同一个文件,你的服务器支持吗?
我现在测试过 vsftpd pureftpd proftpd,都不支持,只有 wu-ftpd ...
原帖由 safedead 于 2007-11-2 13:50 发表
多线程下载可以,上传不行,文件会乱掉
我的接收文件算法是这样实现的
在数据连接正确建立之后
首先生成带绝对路径的真正文件名
在一个所有用户都不可见的临时目录里,用线程id为临时文件名
接收数据 ...
原帖由 safedead 于 2007-11-2 14:44 发表
多线程上传对我的程序来讲
最大的问题是异步合并
比如文件被平均拆开成5块传输
没准第5块会第一个传完,因为最后一块往往是最小的一块!
必须等待所有的段落传输完毕才能正确合并
这个合并过程不应该阻塞任 ...
原帖由 safedead 于 2007-11-2 14:44 发表
多线程上传对我的程序来讲
最大的问题是异步合并
比如文件被平均拆开成5块传输
没准第5块会第一个传完,因为最后一块往往是最小的一块!
必须等待所有的段落传输完毕才能正确合并
这个合并过程不应该阻塞任 ...
原帖由 flw 于 2007-11-2 15:08 发表
应该没有吧。
它好像是一个连接就是一个进程/线程。
然后多个连接并发写同一个文件,用 O_RDWR 打开,seek 到 REST 指定的偏移量,如果长度不够就会扩展空洞。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |