繁体   English   中英

Java中的长轮询

[英]Long polling in java

我已经为长时间轮询编写了服务器端代码。 我想用Java编写客户端程序。 因此,按照长时间轮询,客户端发送一个由服务器帮助的请求,并且服务器在事件发生时响应该请求,然后客户端发送一个新请求。

所以我要面对的麻烦是用Java编写的客户端。 发送请求后,如何继续在客户端检查服务器是否响应。 我应该以什么间隔将请求发送到服务器。 我很困惑。 我是Web技术的初学者。 我尝试使用谷歌搜索,但是所有示例均基于客户端,即Java脚本或JSP。 任何人都可以通过客户端为Java HTTp应用程序提供指向适当教程的链接,或在此上提供示例(即实现长时间轮询)。

对HTTPURLConnection的getInputStream的调用将返回阻塞流。 在此流上调用read将阻塞线程,直到服务器上有可用数据为止,而无需继续轮询数据。

在一个单独的线程中调用read并将HTTPURLConnection保留在范围内,而无需关闭连接。 如果有数据,这应该可以让您取回数据。 从服务器收到200OK后,请在同一连接上发送回另一个请求以使其保持打开状态。 (这是如果您尚未实现请求超时。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM