V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rqxiao
V2EX  ›  Java

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

  •  
  •   rqxiao · 2020-11-11 14:27:18 +08:00 · 3302 次点击
    这是一个创建于 1480 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    }
    }
    }
    monkeyWie
        5
    monkeyWie  
       2020-11-11 16:43:57 +08:00   ❤️ 1
    一个死循环就行了吧
    KarmaWu
        6
    KarmaWu  
       2020-11-11 17:05:39 +08:00
    推荐使用 WebSocket
    rqxiao
        7
    rqxiao  
    OP
       2020-11-12 11:05:41 +08:00
    死循环的确是办法
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   933 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 21:12 · PVG 05:12 · LAX 13:12 · JFK 16:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.