我已经编写了用于长轮询的服务器端代码。我想用java写客户端程序。因此,根据长轮询,客户端发送一个由服务器帮助的请求,当事件发生时服务器响应该请求,然后客户端发送新的请求。
所以我面临的麻烦是用java编写的客户端。发送请求后,如何继续检查客户端是否服务器已响应。我应该以什么时间间隔继续向服务器发送请求。我完全困惑了。我对网络技术还是个初学者。我尝试用谷歌搜索这个问题,但所有的例子都是基于客户端是java脚本或JSP。任何人都可以提供一个正确教程的链接,其中客户端是一个 java HTTp 应用程序,或者提供一个示例(即实现长轮询)。
对 HTTPURLConnection 的 getInputStream 的调用返回一个阻塞流。在此流上调用读取将阻塞线程,直到服务器提供数据为止,您无需继续轮询数据。
在单独的线程中调用读取并将 HTTPURLConnection 保留在范围内而不关闭连接。这应该可以让您在可用时取回数据。从服务器收到 200OK 后,在同一连接上发回另一个请求以保持连接打开。
(这是如果您尚未实现请求超时。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)