我的理解是,用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

解决方案 »

  1.   

    httpConnection封装了socket而已,实质上还是用的socket
      

  2.   

    用httpConnection通信,是不是得到的结果一定是
    html source,比如下面的这种
    <html>
    </html>我的理解不可能得到别的东西了,因为httpConnection就是打开一个url
      

  3.   


    不是,通常httpConnection指的就是客户端到服务器的80端口建立了一个socket.比如你打:http://xxx.xxx.xxx.xxx:8080这个url就连到了8080端口。http通信和普通socket通信没有区别。只是url协议定义了http一般指的就是web服务器。你在服务器发送什么数据都可以,不一定是html文档。 现在很多在网上的下载就是通过http发送的。
      

  4.   

    我目前要做的是客户端,比如我要给服务器传参数

    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();
      

  5.   

    你说的HttpConnection类是哪里的类?是J2SE里的HttpURLConnection类吗? 还是其它API库里的?取到outputStream后,就可以直接发送数据了。主要看你的服务器端是如何处理数据的了,如果是个标准的web服务器,要用get或post的方式发送url来传递数据。复杂的数据结构也一样可以传递,用java很容易,把数据serialize后以ASCII传过去就行了。
      

  6.   

    用的是java里面的HttpConnection,没用这个向服务器写过东西。研究一下
      

  7.   


    HttpURLConnection主要还是用来和web服务器之间进行通信的。如果只是普通的客户端和服务器的数据传递,用socket就好了。
      

  8.   

    不好意思,再问一下,比较模糊的一个概念。
    如果用socket通信。服务器端的
    404 HTTP_NOT_FOUND 错误我能捕捉到吗?是不是要捕捉404的错误只能用HTTPURLConnection进行通信
    然后判断
    rc=c.getResponseCode();
    if (rc!=HttpConnection.HTTP_NOT_FOUND) { // http 404 error
          throw new Exception();
    }
      

  9.   


    用HTTPURLConnection会方便一点。用普通socket也一样能捕到,web服务器发回来的都是String,就是做string处理而以。
      

  10.   

    如果我做服务器端的代码。客户端用HTTPURLConnection来连接
    我也还是可以用socketserver来outputStream回去?
      

  11.   

    当然可以呀,HTTPURLConnection是对Socket的封装。也就是说HTTPURLConnection就是Socket.都是用来建立一个数据传输的通道。通道有了,数据怎么传就看需要了。HttpURLConnection只是在socket的基础上对http协议进行了支持。
      

  12.   

    HTTPURLConnection是通过url连接,如果服务端是socketserver,是没办法连接的。
      

  13.   

    讲得挺不错的  我是要访问WEB服务器端的图片 看来使用HTTP