问题标签 [rsocket]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
490 浏览

java - 将 Aeron 与 RSocket 一起使用

早上好,

我正在尝试在 Aeron 传输协议之上使用 RSocket。但是,似乎没有关于该主题的文档 - 有没有人成功地将这两种技术集成在一起?它准备好使用还是仍在进行中?

非常感谢。

0 投票
1 回答
140 浏览

java - 等待最后一个元素时阻塞 Flux

我想通过 rsocket 连接两个应用程序。一个是用 GO 编写的,第二个是用 Kotlin 编写的。我想实现客户端发送数据流和服务器发送确认响应的连接。

问题在于等待所有元素,如果服务器没有 BlockOnLast(ctx),则读取整个流,但在所有条目到达之前发送响应。如果添加了 BlockOnLast(ctx),则 Server (GoLang) 卡住了。

我还在 Kotlin 中编写了客户端,在这种情况下,整个通信工作得非常好。

任何人都可以帮忙吗?

GO服务器:

Kotlin 客户端:

相当于用 Kotlin 编写的 GO:

服务器输出:

0 投票
2 回答
1795 浏览

java - RSocket 服务器失败时如何恢复与 RSocket 的会话

好的,我是 RSocket 的新手。我正在尝试创建一个简单的 RSocket 客户端和简单的 RSocket 服务器。从我所做的研究来看,RSocket 支持恢复:

它特别有用,因为当发送包含有关最后接收帧的信息的 RESUME 帧时,客户端能够恢复连接并仅请求它尚未收到的数据,避免服务器上不必要的负载和浪费时间尝试检索已经检索到的数据。

它还说客户端是负责启用恢复的人。我的问题是如何启用此恢复以及如何发送该 RESUME 帧。我有功能正常的客户端和服务器,但是如果我关闭服务器并再次启动它,则什么也不会发生,稍后当客户端再次尝试与服务器通信时,它会抛出:java.nio.channels.ClosedChannelException。

这是我的客户端配置:

}

这是我开始与 rsocket 服务器通信的 RestController:

0 投票
1 回答
173 浏览

java - .net和spring boot rsocket之间的RSocket连接

我尝试通过 RSocket 协议从 .net 服务向 sping 引导服务发送消息,连接已建立,但消息未到达目的地。在这两种情况下,.net 服务器 - java 客户端和 java 服务器 - .net 客户端。也许有人已经设置了一个工作配置(.net - spring boot over rsocket)

字符串消息的工作配置(java 服务器 - .net 客户端)

0 投票
0 回答
513 浏览

android - 连接丢失后RSocket恢复会话/流

我正在使用 RSocket 通道并尝试实现恢复功能,以防与服务器的连接丢失。在尝试了 resume()、resumeSessionDuration()、resumeStreamTimeout() 和 resumeCleanupOnKeepAlive() 的不同组合之后/documentation:https://javadoc.io/static/io.rsocket/rsocket-core/1.0.0-RC3/io/rsocket /RSocketFactory.ServerRSocketFactory.html#resume--/在服务器和移动设备上,仍然没有任何反应。在移动设备上,我每 10 秒向服务器发送一次数据,当连接丢失时,套接字在第 3 次重试时被处理。有谁知道所有这些方法究竟在服务器端和客户端做什么?几乎没有任何文档...

这是服务器上的代码:

这是移动设备上的代码:

0 投票
1 回答
729 浏览

spring - 使用 Spring Boot 反应和 rSocket REQUEST_CHANNEL 错误

我们在 React 和 Spring Boot Data Geode 之间进行了一个工作演示,使用 rSocket 进行火&忘记,请求响应和请求流,但是当我们尝试使用请求通道时,我们得到错误:

org.springframework.messaging.MessageDeliveryException: Destination 'quotes' does not support REQUEST_CHANNEL. Supported interaction(s): [REQUEST_STREAM]

到目前为止,在网络上看起来这应该可以从RSocket Git

这是一个简单的 Spring Boot 应用程序,带有 @Controller 端点,在 rSocket 上运行,如下所示:

返回的generatePricesFlux 价格在请求流中运行良好,但我们更愿意将请求通道用于双向通信。

客户端版本

客户端代码

0 投票
1 回答
518 浏览

java - 使用弹簧启动在 rsocket 消息上设置标头

所以我开始玩 rsocket 和 spring boot 2.2 看看我是否可以在我的项目中使用它,但我面临一些麻烦。

通常,使用spring消息传递我定义了一个如下的监听器方法:

我的理解是,使用 rsocket 我应该能够使用相同的逻辑,但是当我定义客户端时,我找不到设置消息头的简单方法。

目前我坚持这个:

元数据是标题的替代品吗?该方法签名似乎有点过于通用,无法像标题一样使用。如果我在其中放入一个 Map 将能够从其中解码标题?

谢谢你,费尔南多

0 投票
1 回答
2579 浏览

spring-webflux - WebFlux + RSocket + 弹簧

有人可以告诉我或给出一个使用WebFlux、RScoket 和 Spring(或 SpringBoot)的现成 CRUD 示例吗?

我研究了RSocket文档WebFlux,也写了我的简单示例,但我希望看到一个真正的CRUD应用程序使用RSocket的基本方法。

我将不胜感激。谢谢。

0 投票
1 回答
116 浏览

project-reactor - 发布不同对象类型的 FluxSink

我有一个响应通量的 rsocket 端点:

响应可以是使用以下代码(如果有效)异步生成的 3 种不同类型的对象中的任何一种:

问题是当我用不同的对象填充接收器时,只有第一个接收器实际上是发布回订阅者。

如果我制作类型的接收器,<?>则会出现.next错误:

The method next(capture#2-of ?) in the type FluxSink<capture#2-of ?> is not applicable for the arguments (Response1)

有没有更好的方法来满足这个要求?

0 投票
2 回答
748 浏览

spring-boot - spring boot中绑定RSocket和gRPC的问题

每个人!我有了一些想法,使用 gRPC protobuff 代码生成实现作为数据层 API 来使用它而不是 RSocket 协议中的 POJO。

这是实现:

RSocket 配置

和服务本身

但是,当 spring boot 服务启动时,我发现了异常

如您所见,问题在于解码 RSocket 传输层中的原型模型。我知道,gRPC 它是一个二进制序列化,它在下面的二进制描述中有一些魔力。有没有人尝试过使用这两种技术?任何想法都会非常有帮助。谢谢。