我们不允许对书籍、工具、软件库等寻求建议的问题。您可以编辑问题,以便用事实和引文来回答。
我有一个桌面客户端和一个服务器端,都是用Java实现的。服务器端位于Tomcat上。
现在,我希望检查使用服务器发送的事件,虽然Tomcat可以在服务器上使用它,但我不知道如何从客户端执行它。所有的实现都使用Javascript,如果您的客户机是Javascript客户机,这很好。我的不是。
所以,我的问题是,SSE规范的客户端是否有任何Java实现?
我也遇到了同样的问题,并找到了解决方案。Jersey有一个SSE客户端(它不是标准发行版的一部分,您还需要Jersey media SSE jar,您可以在Maven存储库中找到它。
public static void consumeEventStream(String url, Consumer consumer) throws Exception {
Client client = ClientBuilder.newBuilder().register(new SseFeature()).build();
WebTarget target = client.target(url);
EventInput e = null;
while (true) {
Thread.sleep(1000);
if (e==null || e.isClosed()) {
// (re)connect
e = target.request().get(EventInput.class);
e.setChunkType("text/event-stream");
}
final InboundEvent inboundEvent = e.read();
if (inboundEvent == null) {
break;
}
else {
String data = inboundEvent.getData();
// do something here - notify observers, parse json etc
}
}
System.out.println("connection closed");
}
调用setChunkType是为了处理泽西中的一个错误——如果char编码是内容类型的一部分,泽西将无法识别事件类型。另一方面,规范和浏览器希望设置内容类型。acc. to jira这已经解决,但在最新版本中还不能正常工作jersey-media-sse-2.2.jar,另请参阅https://java.net/jira/browse/JERSEY-2062.
希望这能帮上忙,詹斯
我们的团队为特定任务开发了服务器发送事件(SSE)。 我正在尝试构建一个客户端来侦听来自服务器的事件流。我已经设法使用Jersey Java库实现了这一点。然而,由于我们的大多数客户机代码都使用Spring,所以我想举一个例子来说明如何使用Spring实现这一点。 我在Spring的服务器端找到了许多关于SSE的示例。但是,我找不到客户端的任何文档。 Spring是否在客户端支持SSE?如果是,我
我怎么给鲍勃发信息?
我正在开发一个非常简单的Java客户机/服务器系统(只是为了让我的脚沾满套接字)。由于某种原因,我一直收到“套接字已关闭”错误。。。这是我的密码。。 服务器文件 客户端文件 我在客户端的第41行得到了错误,然后在第46行得到了NullPointerException。。 提前感谢您的帮助。我只是想在这里学习。
如果我正确理解了服务器发送事件的原则,那么每次客户端注册到EventSource时,它实际上会打开一个到管理事件的资源的新HTTP连接。与其他HTTP请求相反,连接保持活动状态,因此专用于此客户端的服务器进程/线程将一直运行,直到客户端断开连接。 如果我们有1000个客户端使用SSE连接到一个应用程序,该怎么办?我们是否会有1000个进程/线程(做同样的事情)并发运行以处理SSE?我想我错了,但如
问题内容: 我正在尝试使用JmDNS在客户端服务器应用程序中启用服务发现。我完全理解服务器端的服务注册表,其代码类似于以下内容: 但是,我在弄清楚如何让我的客户端从注册的服务中检索端口号和IP地址并使用此数据打开TCP连接时遇到了麻烦。我搜索了有关如何使用JmDNS的示例,但无济于事。这里有人可以给我一些基本的例子吗?或者,如果有人在JmDNS上有指向良好资源/教程的链接,可以请他们提供吗? 注意
我到处查看,试图找出传输级别上服务器发送的事件是什么。我还是不确定。 这两个来源都声称它们“只是http”。然而,我至少可以用两种方式来解释这种说法。 当我第一次阅读这些文章时,我假设这意味着服务器在同一端口上向客户机发起请求,之前已经从客户机向服务器发出了一些其他常规http请求。这应该适用于普通家庭路由器的地址转换,但我想知道防火墙在公司环境中的含义。 然而,后来,我尝试在Silverligh