gpt4 book ai didi

java - jetty http/2 保持推送流打开

转载 作者:行者123 更新时间:2023-12-01 09:59:58 25 4
gpt4 key购买 nike

对我所拥有的内容的简短说明。

  1. 我有一个服务器和一个客户端
  2. 客户端发出 GET 请求
  3. GET请求的流用作推送流
  4. 服务器在单个线程中通过此流将消息推送到客户端

问题是,当我 30 秒没有发送数据时,客户端似乎会自动关闭流。

我已经将超时从 30 秒设置为 LONG.MAX_VALUE:

stream.setIdleTimeout(Long.MAX_VALUE);

现在我已经实现了一个“Heartbeat-Workaround”,每 20 秒推送一个简单的字符串,这样我就可以避免超时。

我只是想知道这是否是唯一的方法。或者如果我必须更改一些我找不到的设置。

感谢您的每一个回答。

问候!

最佳答案

似乎您正在进行反向 HTTP 长轮询,这确实需要“心跳”以避免流或连接因空闲超时而关闭。

通常最好进行常规 HTTP 长轮询(即客户端发送心跳),因为它允许服务器更快地检测断开连接的客户端。

但是,您最好使用类似 CometD 的解决方案如果您想执行服务器推送消息传递。

关于java - jetty http/2 保持推送流打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36884818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com