这两天在处理文件下载的问题,就是从FastDFS下载文件,之前组员使用.net的FastDFS的API,感觉很弱,没有java的API写得那么好,正好FastDFS也是配置了Nginx,支持http协议的上传下载,便尝试改为http的方式进行下载。使用的是.net的HttpWebRequest类,对指定的Uri发送请求,得到响应内容。
一开始就先实现能够把内容下载下来,每次stream.read()读取4字节,没有考虑任何情况,就裸着下载,速度貌似跟我们用浏览器和迅雷差不多,当然如果加上了多并发多线程的时候就不一定了,而且还跟我们组搭建的路由器有关系。
HTTP还有很多东西需要学习,真正操作起来才知道自己的基础知识掌握地有多弱,那就多敲代码,多进步。
还有就是,学习别人写的代码时需要懂得方法,整个程序的逻辑比较复杂,考虑的情况比较多,我觉得学习得从理解程序的流程开始,或者采用逐步调试的方式从头走一遍去理解里面是如何实现的。反正我看了一天,头是有点晕了。