现在的位置: 首页 > 综合 > 正文

考虑下文件传输

2013年09月22日 ⁄ 综合 ⁄ 共 687字 ⁄ 字号 评论关闭

晚上回来,远程连接到系统,发现已有两个客户机无法正常传输文件了

观察了下日志,发现系统各方面都正常

应该是文件传输的服务器端文件指针的维护存在一些隐性的bug

在服务器长时间运行后,可能会导致本来可下载的文件超过最大下载限制而不可下载

把服务器重启下,一切又OK了

把ftp程序重新考虑下

可能会有如下的需求:

传输需求:

  • 二进制数据采用base64编码
  • 数据片的md5校验
  • .断点续传
  • 速度限制

服务器:
 1.能够实时观察当前连接的客户,与每个客户当前正在下载的文件,以及下载的即时信息

2.对当前传输的文件进行控制,比如暂停,中止

3.主动将文件push给客户端

4.接收客户文件请求

 5.下载文件的维护,比如同时下载同一份文件的用户数限制;

 6.考虑下效率;比如大量用户请求同一份文件,可考虑cache;对文件的分片请求部分进行优化

客户端:

1.实时观测文件传输信息,比如进度与速度

2.能够接收用户对文件传输的控制

 3.监听服务器的文件push

 4.主动向服务器请求上传/下载文件

5.接收其他进程的任务请求

 6.检测网络状况(时延),对文件的分片大小进行控制(不知道在无线传输时是否会优化性能?相对有线传输,无线较大的丢包率与较长的网络时延都可能较大的提高重传概率。)

 服务器端是最需要完善的。现在只有一个功能,就是接收客户文件请求并响应,然后其他啥功能都没有了。

如果真能够把这个东西做好,还是挺有用处的。可以在不同的系统的复用。

问题是,会容许我继续在这个问题上面纠缠么?

会有时间继续完善么?

如果真的要做好,整个系统肯定需要重新构架,网络框架可能要自己来写,完成这些功能,至少需要 两个月。也许会更多。

抱歉!评论已关闭.