首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jetty http/2使推送流保持打开

jetty http/2使推送流保持打开
EN

Stack Overflow用户
提问于 2016-04-27 08:51:01
回答 1查看 659关注 0票数 0

对我所拥有的的一个简短的解释。

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

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

我已经将Timout从30秒设置为LONG.MAX_VALUE,并使用:

代码语言:javascript
复制
stream.setIdleTimeout(Long.MAX_VALUE);

现在,我已经实现了一个“心跳-解决方案”,每20秒推送一个简单的字符串,因此我没有超时。

我只想知道这是不是唯一的办法。或者,如果我必须改变一些设置,我没有找到。

谢谢你的每一个回答。

致以问候!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-27 09:53:19

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

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36884818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档