android怎么实现HTTP长连接

myeclipse10 2011-02-27 09:10:29
如题:急,android 怎么实现客户端的长连接,服务端有内容变动时,可以及时得更新到手机上。谢谢
...全文
6919 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
visir 2013-02-26
  • 打赏
  • 举报
回复
参考web qq
javierrao 2013-02-26
  • 打赏
  • 举报
回复
有一种方法就是客户端发起一个HTTP的连接以后,在服务器端收到后不返回,待需要的时候在返回,客户端收到返回以后立即发起下一次HTTP。记得http做通知的时候有这样做过 另一种方法就是定时,每隔几秒就发起一次
始终不够 2013-02-25
  • 打赏
  • 举报
回复
引用 1 楼 glint 的回复:
轮询吧,隔一阵去读一下
HTTP有长连接的。但是主要不是用于服务器端推送。 主要用于如下情况: 浏览器请求HTML文件时,头部包含长连接请求,当浏览器发现HTML中包含其他资源时,再发送的请求就无需重新与服务器建立SOCKET连接,可以直接发送。
godiisu 2012-12-13
  • 打赏
  • 举报
回复
楼主解决了了吗
lxb_256 2012-08-30
  • 打赏
  • 举报
回复
楼主解决了吗
sada09 2011-08-10
  • 打赏
  • 举报
回复
等待更好的回复
sky123123 2011-03-12
  • 打赏
  • 举报
回复
HTTP为无状态的连接,实现长连接的话,恐怕有点儿难度哦
glint 2011-03-11
  • 打赏
  • 举报
回复
除非更新频率很快,否则长连接不是很费资源?
你直接用socket当然也可以,不过客户端和服务器端编程要复杂点,不如直接用现成的WEB服务器和httpURLConnection,这不都是现成的轮子啊
danfeng 2011-03-10
  • 打赏
  • 举报
回复
顶楼上
tqwboy 2011-03-09
  • 打赏
  • 举报
回复
在想服务器请求的时候加入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可以试试看
ameyume 2011-03-09
  • 打赏
  • 举报
回复
有没有socket监听服务器消息的例子阿?
学习下。
ameyume 2011-03-09
  • 打赏
  • 举报
回复
看来socket监听服务器消息是比较理想的方式,
毕竟http定时轮询存在延迟。
iampy 2011-03-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 seasons_in_the_sun 的回复:]
3楼的方法很好。用SOCKET
流方法
[/Quote]
这个兄弟这么晚都在?佩服!
http是无状态的,没法保持长连接吧。可以使用定时或者不定时的轮询发送http请求吧。
男主角 2011-03-09
  • 打赏
  • 举报
回复
3楼的方法很好。用SOCKET
流方法
tfront 2011-03-09
  • 打赏
  • 举报
回复
HTTP 1.1 如果必须要用HTTP的话,这是正解
[Quote=引用 10 楼 tqwboy 的回复:]

在想服务器请求的时候加入Keep-Alive,并保存保存服务器发过来的Cookie,这样或许可以,比如使用HttpURLConnection进行HTTP请求的时候:
Java code

httpURLConnection.setRequestProperty("Connection", "Keep-Alive");
httpURLConnection.connect();

String ……
[/Quote]
yongyuandeni 2011-03-08
  • 打赏
  • 举报
回复
3楼的ok

直接监听
Dartagnan 2011-03-08
  • 打赏
  • 举报
回复
楼上正解!

对http连接进行轮询也是不错的方法!
DrSmart 2011-03-08
  • 打赏
  • 举报
回复
晕,那你就不能用http这种东西了,直接上socket,客户端接听server消息了
SongQues 2011-03-08
  • 打赏
  • 举报
回复
和http进行长连接,http都是客户端主去获取的方式,应该不会有长连接吧!
glint 2011-02-27
  • 打赏
  • 举报
回复
轮询吧,隔一阵去读一下

80,360

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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