http传输速度的问题

挨踢民工的乐章 2008-08-04 03:32:00
用urlConnection建立http连接,怎么才可以提高传输的速度?

String strResponse = "";
URL url;
URLConnection urlConnection;

url = new URL(m_strUrl);

urlConnection = url.openConnection(); //--------这里要耗时16ms
urlConnection.setDoOutput(true); // 需要向服务器写数据
urlConnection.setDoInput(true); //
urlConnection.setUseCaches(false); // 获得服务器最新的信息
urlConnection.setAllowUserInteraction(false);
urlConnection.setReadTimeout(50);
urlConnection.setRequestProperty("Content-type",
"application/x-www-form-urlencoded");
// 必须告诉服务器你发送的数据大小. 这也同样告诉
urlConnection.setRequestProperty("Content-length", ""
+ m_strRequest.length());
// Open an output stream so you can send the info you are posting
try
{ //-----------这里要16ms
dataOutputStream = new DataOutputStream(urlConnection.getOutputStream());
}
catch(Exception e)
{
System.out.println(url.toString()+":连接超时!");
return "";
}

// Write out the actual request data
dataOutputStream.writeBytes(m_strRequest);
dataOutputStream.close();
// 判断访问服务器的返回值
boolean loop=true;
InputStreamReader netin=new InputStreamReader(urlConnection.getInputStream());
BufferedReader in=new BufferedReader(netin);
String str="";

while (loop) //这里要16ms {
if (in.ready())
{
while (true)
{
str = in.readLine();
if (str == null)
{
loop = false;
break;
}
strResponse += str;
}
}
}
return strResponse;
}



}

红色的是传输7k文件所要消耗的时间,有没有什么方法可以提高传输的速度?是不是有更好的代码。
希望高手指教,现在这里的速度是我们软件的瓶颈。。。


--------------------------------------------------------------------
以下内容为自动编辑的内容,并非楼主的发贴内容,此仅用于显示而已,并无任何其他特殊作用
楼主【benben2301】截止到2008-08-04 15:32:05的历史汇总数据(不包括此帖):
发帖的总数量:49 发帖的总分数:945 每贴平均分数:19
回帖的总数量:74 得分贴总数量:10 回帖的得分率:13%
结贴的总数量:46 结贴的总分数:885
无满意结贴数:6 无满意结贴分:130
未结的帖子数:3 未结的总分数:60
结贴的百分比:93.88 % 结分的百分比:93.65 %
无满意结贴率:13.04 % 无满意结分率:14.69 %
值得尊敬

取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=benben2301
...全文
434 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenchen5421 2011-08-11
  • 打赏
  • 举报
回复
将代码写在静态方法中
第一次调用方法时url.openConnection();
这一句会自动创建很多线程
因此很慢,
下次再调用该方法就快多了
胡矣 2008-08-04
  • 打赏
  • 举报
回复
这个和你网络的速度
返回文件的大小都有关系
请问LZ是如何测试得到的速度
yangk_105 2008-08-04
  • 打赏
  • 举报
回复
你 调用的都是 库函数。因此我想要要优化是比较困难的,因为对于一个已经封装好了的类来说,要么你适应它,要么你继承,然后自己重写方法

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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