我已经准备好了 @MessageMapping
端点使用spring的rsocket支持,并用 RSocketRequester
. 这个流程运行得很好,因为spring为我们处理了一堆低级的东西。
现在,我希望有一些ui来显示我正在使用的任何数据,并通过它对这些数据进行ui更新 @MessageMapping
终结点。问题是,我不知道如何使用这两种方法将完整的java/kotlin对象(作为json)发送到我的端点 rsocket-java
或者 rsocket-kotlin
图书馆。因为我必须同时发送数据和元数据,元数据被编码为 ByteBuf
我不得不将json编码为 ByteBuf
,但它到达的端点都是乱七八糟的,无法反序列化。
我也尝试过发送原始字符串值,但它也会被发送到端点(一堆非utf字符)。我两个都试过了 APPLICATION_JSON
以及 TEXT_PLAIN
对于数据mime类型,但对这两种类型都不起作用。
另外,我猜我所做的任何错误都与java/kotlin库没有严格的关系,但是可以应用于任何其他现有的rsocket库(go、rust、js等)
2条答案
按热度按时间kmpatx3s1#
如果您使用的是rsocket kotlin客户机(不是基于spring boot构建的),那么您可以从https://github.com/rsocket/rsocket-cli/blob/master/src/main/kotlin/io/rsocket/cli/main.kt
它使用
k3bvogb12#
我想我已经明白了。
我已经抓取了二进制编码的元数据,并借用了我在互联网上找到的javascript格式的rsocket,结果成功了:)
因此,解决方案是使用路由元数据mime类型(我使用复合,因为我发现的示例正在使用它),然后可以这样创建负载: