日期:2014-05-20  浏览次数:20678 次

Java中 HttpUrlConnection 与 Socket 连接的异同
情况是这样滴,比如:访问服务器上的一个文件readme.txt

1、使用 HttpUrlConnection访问 。
a、提供连接地址就可以,比如:http://127.0.0.1:8080 
b、下来获取输出流,将要访问的文件路径传给服务器端 比如:"d:/readme.txt"
c、使用输入流读取文件内容即可

2、使用socket连接也可以,相信大家都会


问题:HttpUrlConnection 与 Socket 连接的异同,最好详细点。谢谢

------解决方案--------------------
HttpUrlConnection底层是Socket实现的吧?
------解决方案--------------------
探讨

HttpUrlConnection底层是Socket实现的吧?

------解决方案--------------------
http://www.iteye.com/topic/1116249

不知道你和这个人是不是一个
------解决方案--------------------
Socket是底层实现,协议你要自己去写,不局限于http,可以是任何协议。
而类似httpclient, ftpClient,URLConnetcion之类的,是对专属协议的封装,当然由于部分实现原理,你可能无法完全控制连接操作,比如soTimeout这个参数。

如果你真的想自己控制一切,那么用socket吧,或者自己封装一些工具类,改造别人的也不错。有时,这个是唯一的方法。

如果想简单,用别人弄好的工具包,绝大多数场景下,是不错的做法。