我们的团队为特定任务开发了服务器发送事件(SSE)。
我正在尝试构建一个客户端来侦听来自服务器的事件流。我已经设法使用Jersey Java库实现了这一点。然而,由于我们的大多数客户机代码都使用Spring,所以我想举一个例子来说明如何使用Spring实现这一点。
我在Spring的服务器端找到了许多关于SSE的示例。但是,我找不到客户端的任何文档。
Spring是否在客户端支持SSE?如果是,我可以举一个例子,说明如何使用Spring实现以下功能。。。
向我们的服务器发送HTTP GET请求
获取-
响应将是一个文本流,客户端将继续接收,直到客户端选择关闭连接。
看看Spring RestTemplate的一个执行方法。它们都以响应采集器(ResponseExtractor)作为参数。这个回调接口定义了一个方法:提取数据(ClientHttpResponse响应)
。通过提供您自己的ResponseExtractor,您可以对响应执行您想要的操作,比如逐行阅读。天真的例子:
restTemplate.execute(a_url, HttpMethod.GET, request -> {
}, response -> {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(response.getBody()));
String line;
try {
while ((line = bufferedReader.readLine()) != null) {
System.out.println("Got some data, let's use my ObjectMapper to parse into something useful!");
}
} catch (IOException e) {
//Something clever
}
return response;
});
我怎么给鲍勃发信息?
我正在创建我的产品,并与这个问题。有一天,我设置了Socket.io,一切都很好。第二天,我将服务器和客户端从http迁移到HTTPS。迁移后客户端和服务器端仍然连接,但不能从客户端发射到服务器,从服务器发射到客户端。 我的ssl证书位于和中,它们加载正确。运行在上的服务器 我的示例react组件。我的react应用程序运行在上。HTTPS连接良好,工作良好。 我该怎么办?也许我在中错误地使用了s
如果我正确理解了服务器发送事件的原则,那么每次客户端注册到EventSource时,它实际上会打开一个到管理事件的资源的新HTTP连接。与其他HTTP请求相反,连接保持活动状态,因此专用于此客户端的服务器进程/线程将一直运行,直到客户端断开连接。 如果我们有1000个客户端使用SSE连接到一个应用程序,该怎么办?我们是否会有1000个进程/线程(做同样的事情)并发运行以处理SSE?我想我错了,但如
为什么每个站点都解释说在SSE中,客户端和服务器之间的单个连接保持打开状态“使用SSE,客户端发送标准HTTP请求请求事件流,服务器最初以标准HTTP响应响应并保持连接打开” 然后,当服务器决定可以向客户端发送数据,而我试图实现SSE时,每隔几秒钟就会看到fiddler请求被发送 对我来说,这感觉就像是长时间的投票,没有一个连接保持打开。 此外,并不是服务器决定向客户机发送数据,而是只有在客户机发
我有一个使用SSE向附加客户端发送更新的node.js服务器。偶尔,我会收到服务器错误H27。与此同时,其他客户端请求可能会在客户端重新注册到SSE事件服务时丢失。 客户端获取/事件请求与服务器H27错误之间的时间介于13秒到19:35分钟之间(在遇到的30次不同事件中)。但GET/事件请求的定时与相应的H27错误之间存在完全的相关性。我每50秒从服务器发送一条keep-alive消息,以绕过He
我对gRpc很陌生,已经开始探索它们的基础知识(在C语言中)。我想获得有关如何发送心跳以检查客户端/服务器是否仍处于连接状态以及在断开连接时采取恢复措施的指导。任何示例或参考任何文档/文章都将有助于我开始学习。谢谢