免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2357 | 回复: 11
打印 上一主题 下一主题

[求助]一个HTTP下载的奇怪现象,高手版主们bjchenxu, sakulagi, 猫小, perryhg受累! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-07 23:39 |只看该作者 |倒序浏览
一个很奇怪的问题,现象是这样的:
使用同一段代码,在我们公司内部局域网中,我在a机上去下载c机的文件(http)协议,速度相当慢,每秒几百个字节,但我在b机上下载c机相同的文件,速度却很快。a,b,c,分别是不同的网段,a机是xp系统,b机是2000系统,在a机上通过ie直接访问文件地址,下载速度也很快。一开始我怀疑是否和网段有关,于是我就在与b机的同一个网段的2003的机器上使用,速度也很慢,但在同一网段的2000机器就是很快,说明应和网络无关。接着,我在a机上用同样的程序下载b机上的文件,速度也很正常,说明和操作系统应该也没关系。由于用IE打开下载速度正常,我就找不到个原因了,还请各位高手帮忙诊断!谢谢啦,由于很奇怪,所以心里很急。

另外说一下我代码的写法,就是通过httpurlconnection的connect方式,然后getinputstream在通过bufferedinputstream来read文件字节,再使用bufferedoutputsream写入文件。

[ 本帖最后由 theoldmemory 于 2006-2-9 19:43 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-02-07 23:56 |只看该作者
我也遇到过类似的问题,我用java写的不管是Socket或者是Url的测试程序传输的时候都相当慢,why?

论坛徽章:
0
3 [报告]
发表于 2006-02-09 19:41 |只看该作者
原帖由 艾斯尼勒 于 2006-2-7 23:56 发表
我也遇到过类似的问题,我用java写的不管是Socket或者是Url的测试程序传输的时候都相当慢,why?

是啊,还请高手帮忙!

论坛徽章:
0
4 [报告]
发表于 2006-02-09 23:50 |只看该作者
你能贴一下你程序的下载代码吗?

论坛徽章:
0
5 [报告]
发表于 2006-02-10 14:22 |只看该作者
我没有具体写过下载,只是在学习URL和Socket网络编程时候写的。

只是简的url.getInputStream()
然后read过来的

论坛徽章:
0
6 [报告]
发表于 2006-02-11 22:14 |只看该作者
原帖由 perryhg 于 2006-2-9 23:50 发表
你能贴一下你程序的下载代码吗?

我就是通过httpurlconnection得到inputstream,然后转成buffedinputstream,再通过bufferedoutputstream来读,写入文件的,应该不会有问题吧?

论坛徽章:
0
7 [报告]
发表于 2006-02-12 16:11 |只看该作者
我是怀疑这个stream的处理方法在win2000和winxp/2003的底层实现不同。你能不能改用 commons-httpclient来试试看?

论坛徽章:
0
8 [报告]
发表于 2006-02-13 22:32 |只看该作者
原帖由 perryhg 于 2006-2-12 16:11 发表
我是怀疑这个stream的处理方法在win2000和winxp/2003的底层实现不同。你能不能改用 commons-httpclient来试试看?

commons-httpclient的原理也应该是用这些stream的吧,但是我自己的机器访问别的地址就可以顺利下载的阿~~~

论坛徽章:
0
9 [报告]
发表于 2006-02-14 02:44 |只看该作者
IE下载的速度不能说明问题,因为IE内部可能用了某种Buffer机制,我让你用commons-httpclient也是尝试用基于Buffer的IO看看速度又没有提升。我是怀疑Windows 2000系统本身提供了Buffer而XP并没有在这个层次上提供內建的Buffer.

论坛徽章:
0
10 [报告]
发表于 2006-02-16 11:52 |只看该作者
原帖由 perryhg 于 2006-2-14 02:44 发表
IE下载的速度不能说明问题,因为IE内部可能用了某种Buffer机制,我让你用commons-httpclient也是尝试用基于Buffer的IO看看速度又没有提升。我是怀疑Windows 2000系统本身提供了Buffer而XP并没有在这个层次上提供內 ...

首先谢谢老大的解释,不过我的意思是我在xp下用我的程序去下载别的服务器的文件,速度也很快,而且我程序就是用BufferedI/O来写的,所以应该不是这个问题吧,很奇怪吧。

我还是在具体说下情况:
程序在网段1下的xp下访问网段2下的a地址出奇的慢,但网段3下的2000下访问快,但网段3下的2003也出奇的慢,然后我用网段1下的xp去访问网段3下的地址b却也很快,因此应该程序没有问题,但由于我在xp下用IE去下载地址a,速度也很快,所以就推倒不出一个原因了,活活。

真的麻烦老大了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP