我的理解是,用httpConnection是直接请求一个url,比如http://www.microsoft.com/china
socket通信是直接请求一个端口,比如8080但是我用httpConnection通信的话,服务器把
<html>
....
</html>
这样的html source返回给我了。如果我只是想问服务器要一个url链接地址,是不是用socket比较好?
比如我传给服务器1,它就返回http://www.sina.com.cn
我传给服务器2,它就返回http://www.163.com
socket通信是直接请求一个端口,比如8080但是我用httpConnection通信的话,服务器把
<html>
....
</html>
这样的html source返回给我了。如果我只是想问服务器要一个url链接地址,是不是用socket比较好?
比如我传给服务器1,它就返回http://www.sina.com.cn
我传给服务器2,它就返回http://www.163.com
解决方案 »
- GWT + eclipse3.2 错误
- JSP下如何只显示当前用户的信息
- jstl 时间 减法
- 怎样sql语句在SQL Server里面取出指定的一些数据(如从第50行开始取100行)
- 我想把文字显示在左边1/3处,如何写HTML?
- 如何改变 HashMap or Hashtable 的value ?
- 求eclipse中jsf开发的插件!
- 请教一个JSP打包的问题,高分奉送
- 关于date截取的简单问题!2003-03-09 19:56:00.717如何得到2003-03-09 19:56?请指教!!
- jsp变量不能创建
- jquery easyui分页效率问题
- 怎么用jspSmartUpload下载超长文件名的文件?
html source,比如下面的这种
<html>
</html>我的理解不可能得到别的东西了,因为httpConnection就是打开一个url
不是,通常httpConnection指的就是客户端到服务器的80端口建立了一个socket.比如你打:http://xxx.xxx.xxx.xxx:8080这个url就连到了8080端口。http通信和普通socket通信没有区别。只是url协议定义了http一般指的就是web服务器。你在服务器发送什么数据都可以,不一定是html文档。 现在很多在网上的下载就是通过http发送的。
用
httpConnection怎么传递?是不是用get方式传递呢?这样一来复杂的数据结构是不是不能传递?
String url = "http://www.microsoft.com/china?username=test&id=1";
HttpConnection c =(HttpConnection)Connector.open(url);
in =c.openInputStream();
out=new ByteArrayOutputStream();
HttpURLConnection主要还是用来和web服务器之间进行通信的。如果只是普通的客户端和服务器的数据传递,用socket就好了。
如果用socket通信。服务器端的
404 HTTP_NOT_FOUND 错误我能捕捉到吗?是不是要捕捉404的错误只能用HTTPURLConnection进行通信
然后判断
rc=c.getResponseCode();
if (rc!=HttpConnection.HTTP_NOT_FOUND) { // http 404 error
throw new Exception();
}
用HTTPURLConnection会方便一点。用普通socket也一样能捕到,web服务器发回来的都是String,就是做string处理而以。
我也还是可以用socketserver来outputStream回去?