如题:急,android 怎么实现客户端的长连接,服务端有内容变动时,可以及时得更新到手机上。谢谢

解决方案 »

  1.   

    和http进行长连接,http都是客户端主去获取的方式,应该不会有长连接吧!
      

  2.   

    晕,那你就不能用http这种东西了,直接上socket,客户端接听server消息了
      

  3.   

    楼上正解!对http连接进行轮询也是不错的方法!
      

  4.   

    3楼的方法很好。用SOCKET
    流方法
      

  5.   

    这个兄弟这么晚都在?佩服!
    http是无状态的,没法保持长连接吧。可以使用定时或者不定时的轮询发送http请求吧。
      

  6.   

    看来socket监听服务器消息是比较理想的方式,
    毕竟http定时轮询存在延迟。
      

  7.   

    有没有socket监听服务器消息的例子阿?
    学习下。
      

  8.   

    在想服务器请求的时候加入Keep-Alive,并保存保存服务器发过来的Cookie,这样或许可以,比如使用HttpURLConnection进行HTTP请求的时候:httpURLConnection.setRequestProperty("Connection", "Keep-Alive");
    httpURLConnection.connect();String setCookie = httpURLConnection.getHeaderField("Set-Cookie");
    cookie = setCookie.substring(0, setCookie.indexOf(";"));
    然后再以后的请求中加入Cookie:httpURLConnection.setRequestProperty("Cookie", cookie);我也不知道这样行不行,LZ可以试试看
      

  9.   

    HTTP 1.1 如果必须要用HTTP的话,这是正解
      

  10.   

    除非更新频率很快,否则长连接不是很费资源?
    你直接用socket当然也可以,不过客户端和服务器端编程要复杂点,不如直接用现成的WEB服务器和httpURLConnection,这不都是现成的轮子啊
      

  11.   

    HTTP为无状态的连接,实现长连接的话,恐怕有点儿难度哦
      

  12.   

    HTTP有长连接的。但是主要不是用于服务器端推送。
    主要用于如下情况:
    浏览器请求HTML文件时,头部包含长连接请求,当浏览器发现HTML中包含其他资源时,再发送的请求就无需重新与服务器建立SOCKET连接,可以直接发送。
      

  13.   

    有一种方法就是客户端发起一个HTTP的连接以后,在服务器端收到后不返回,待需要的时候在返回,客户端收到返回以后立即发起下一次HTTP。记得http做通知的时候有这样做过
    另一种方法就是定时,每隔几秒就发起一次