为了账号安全,请及时绑定邮箱和手机立即绑定

java如何实现http长连接

java如何实现http长连接

不负相思意 2019-04-14 08:08:22
java如何实现http长连接
查看完整描述

2 回答

?
30秒到达战场

TA贡献1828条经验 获得超6个赞

目前web上的消息通讯方式主要有以下几种。
轮询,长连接,websocket
轮询:隔一段时间访问服务器,服务器不管有没有新消息都立刻返回。
长连接:页面向服务器发出请求,由服务器决定什么时候返回。(如果有新消息则立刻返回,没有的话就保持连接,直到有新消息才返回)
websocket:类似Java Socket,由Http请求模拟实现的socket。

要实现长连接的关键就是: 由服务器端决定什么时候返回数据。比如在servlet中。

doGet(...){
...
Thread.sleep(30000);
return ...
}
这就是一个长连接的例子,只是没有任何意义而已。

你要做的就是在doGet中阻塞住,
while(!hasNewMsg){
sleep(500)
}
return newMsg...

当然你的ajax超时时间要设置长一点。

如果可以的话,最好可以使用websocket。


查看完整回答
反对 回复 2019-04-15
  • 2 回答
  • 0 关注
  • 2353 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信