求教 Java 中 http 长轮询机制怎么实现

2020-11-11 14:27:18 +08:00
 rqxiao

第三方接口已经提供基于 Http 的轮询接口给应用反馈 xx 是否被消费

应用必须在独立的线程发起 Http 请求,一般会 hang 住,

当有新的消息,应用就该接受。

应用必须确保请求不中断,当成功获得消息或者因为任何原因中断连接,应用必须立即恢复轮询。

后台应用是 springboot 请问这个长轮询不中断请求 java 里有什么实现?

3173 次点击
所在节点    Java
7 条回复
imjamespond
2020-11-11 14:29:57 +08:00
webflex 了解下
Oktfolio
2020-11-11 14:32:21 +08:00
DeferredResult
rqxiao
2020-11-11 14:49:12 +08:00
我这边应该是客户端 ,对方是服务端
LLaMA2
2020-11-11 16:27:59 +08:00
()->{
while(true) {
try{
String respone = http.setTimeout(120*1000).AsyncRequest(URI);
// parse response...............
Sleep(1*1000);
} catch(Exception e) {

}
}
}
monkeyWie
2020-11-11 16:43:57 +08:00
一个死循环就行了吧
KarmaWu
2020-11-11 17:05:39 +08:00
推荐使用 WebSocket
rqxiao
2020-11-12 11:05:41 +08:00
死循环的确是办法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/724029

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX