java中的长轮询

2024-07-04

我已经编写了用于长轮询的服务器端代码。我想用java写客户端程序。因此,根据长轮询,客户端发送一个由服务器帮助的请求,当事件发生时服务器响应该请求,然后客户端发送新的请求。

所以我面临的麻烦是用java编写的客户端。发送请求后,如何继续检查客户端是否服务器已响应。我应该以什么时间间隔继续向服务器发送请求。我完全困惑了。我对网络技术还是个初学者。我尝试用谷歌搜索这个问题,但所有的例子都是基于客户端是java脚本或JSP。任何人都可以提供一个正确教程的链接,其中客户端是一个 java HTTp 应用程序,或者提供一个示例(即实现长轮询)。


对 HTTPURLConnection 的 getInputStream 的调用返回一个阻塞流。在此流上调用读取将阻塞线程,直到服务器提供数据为止,您无需继续轮询数据。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中的长轮询 的相关文章

  • 如何检查所有 Maven 依赖项是否都是针对 Java 6 编译的

    我正在寻找一个 Maven 插件 或其他 Maven 方式 来强制 Maven 项目的所有依赖项都编译为正确的 java 主要版本类文件格式 背景 我正在将现有项目从 Java 7 降级到 Java 6 并且我需要检查库是否是针对 Java
  • 为什么Map有loadFactor而List没有呢?

    当用 Java 创建 Map 或 List 时 它们的默认初始容量都是 10 它们的容量会随着新元素的增加而增长 但是 List 仅在添加第 11 个元素时才会增长 而 Map 在添加第 8 个元素时已经增长 发生这种情况是因为 Map 有
  • 从 Spring 服务器请求获取字符串主体

    我试图从请求正文中获取简单的字符串 但不断收到错误 Handler RestController public class GreetingHandler public Mono
  • UML 中的组合

    在 UML 图中考虑组合时 我们应该在逻辑或实现意义上使用它 这两个术语的示例 实施 机场将包含对国家 地区的引用 换句话说 一个国家是机场的一部分 逻辑 一个国家可以有零个或多个机场 换句话说 机场是国家的一部分 从上图中 哪种情况显示了
  • Java:什么是“for (;;)”[重复]

    这个问题在这里已经有答案了 有人可以帮我解释一下这条指令吗 为了 我遇到过几种这样的标记 比如在 facebook 的 ajax 代码和 Java 的并发内容中 无限循环 for 循环的三个部分中的每一个部分 for x y z 是可选的
  • 字符串的两半就地交错

    给定一个字符串even尺寸 说 abcdef123456 我如何将两半交错 这样same字符串将变成这样 a1b2c3d4e5f6 我尝试开发一种算法 但失败了 有人能给我一些吗hints至于如何进行 我需要在不创建额外的字符串变量或数组的
  • 在 ant 中定义 Main-Class 来捆绑 jar 的混乱

    我正在尝试使用 Amazon Mechanical Turk API 构建一个 jar 文件 SDK 附带了一个 helloworld 文件 我试图将其打包作为健全性检查 它位于此处 http aws amazon com code SDK
  • GWT - 找不到入口点类

    我最近开始开发另一个 GWT 模块 因此 我创建了一个包 其中包含所有新类和一个实现新入口点的特定类 我将 gwt xml 修改为新的入口点 当我编译时 出现以下错误 GWT Compiling client side code WARNI
  • 杰克逊没有认识到存在的领域

    这是我的 JSON totalSize 46 done true records Name Wamu I Start Date c 2016 09 26T16 56 10 000 0000 Status c Completed Type c
  • Glassfish 使用内部模块库而不是应用程序库

    我正在尝试在 Glassfish 4 1 21 上部署 Spring boot 应用程序 在启动时 我收到一条错误 指出由于方法不存在而无法创建entityManagerFactory 它不存在 因为由于某种原因 当应用程序在 glassf
  • JavaFX 在拖放完成后获取拖放目标文件夹

    Java Oracle 社区的问题 https community oracle com thread 3934986 https community oracle com thread 3934986 问题 我已经设置了下面的代码Butt
  • Java 8 模块与 OSGi 有何不同?

    Java 8 和 Jigsaw 项目为 SDK 带来了模块系统 我认为这是一件好事 因为它是软件包的一部分 内置 OSGi 还提供了一个模块系统 但需要一个容器 但除此之外 它们之间的主要区别是什么 如果我使用 OSGi 我是否能够使用标准
  • 重命名由 android 10 中的应用程序创建的 Mediastore 文件。在 Android API 30 上工作,但在 API 29 中显示错误

    在这里 这个 renameFile 函数在 Android API 30 中工作 但是 它在 Android API 29 中不起作用 并显示如下错误 java lang IllegalArgumentException 不允许移动不属于明
  • 替换 Apache POI XWPF 中的文本

    我刚刚发现 Apache POI 库对于使用 Java 编辑 Word 文件非常有用 具体来说 我想编辑一个DOCX使用 Apache POI 的 XWPF 类的文件 我发现没有合适的方法 文档可以执行此操作 有人可以分步骤解释一下如何替换
  • 如何在 ADF Oracle 11gR1 中的对话框窗口中的弹出窗口中刷新表

    我正在研究显示一个带有搜索表的弹出窗口的要求 当用户单击弹出窗口中的搜索按钮 提供输入文本框 时 需要使用新的数据集刷新搜索表 我创建了一个populateSearchTable 通过填充数组中的值来生成表的方法deviceListArra
  • “?” 是什么意思?在Java中是什么意思? [复制]

    这个问题在这里已经有答案了 我不知道问号是什么 在java中代表 我正在做一个小程序 一个Nim游戏 正在寻找一本书寻求帮助 并看到这样的说法 int pinsToTake min gt 2 2 1 看不懂 什么会 代表 它可能与 if 语
  • Eclipse 创建 Java 虚拟机失败

    我正在使用 eclipse 开发 android 应用程序 它总是进展顺利 但今天它出现了问题 当我尝试打开 Eclipse 时 它 向我显示此消息 Failed to create the java virtual machine Err
  • 如何使用 xstream 将 Hashmap 映射到 XML 中的键值属性

    我有以下实体 XStreamAlias entity public class MapTestEntity XStreamAsAttribute public Map
  • 避免 xjc 生成的代码出现编译器警告

    我的根本问题是如何从 未经检查的泛型类型 Eclipse 编译器警告中受益 但问题视图中没有这些警告列表 这些警告被 xjc 从 xsd 文件生成的 java 类的噪声污染 通过 maven jaxb2 插入 我读过其他地方 我可以忽略每个
  • 为什么 List.contains() 在 Collections Java 中将 Object 作为参数 [重复]

    这个问题在这里已经有答案了 The java util List contains Object o 方法需要Object作为参数并在内部使用Object equals Object o 如上所述here http docs oracle

随机推荐