类似于为 Spring Rsocket Server 使用 RSocket-Java 的 rsocket 路由元数据,但对于 RSocket Net Client,我们使用 spring boot @MessageMapping 用于端口 7000 上的 websocket 端点路由,这取决于路由返回 webfluxes。例如:
@MessageMapping(value = "helloWorld")
public Flux<String> getFluxSocket() {
log.traceEntry();
log.info("In hello world");
return Flux.just("{\"Hello\":\"World\"}");
}
当 Spring Boot 服务器在本地运行时,要获得此通量,您可以使用rsc 客户端
java -jar rsc.jar --debug --request --route helloWorld ws://localhost:7000
或者对于流
java -jar rsc.jar --debug --stream --route myStream ws://localhost:7000
要在 C# Net 中以编程方式执行此操作,它在此处表示 RSocket Net 尚不支持请求路由,但可以使用元数据有效负载。有没有人有这样的网络?
CompositeByteBuf metadata = ByteBufAllocator.DEFAULT.compositeBuffer();
RoutingMetadata routingMetadata = TaggingMetadataCodec.createRoutingMetadata(ByteBufAllocator.DEFAULT, List.of("/route"));
CompositeMetadataCodec.encodeAndAddMetadata(metadata,
ByteBufAllocator.DEFAULT,
WellKnownMimeType.MESSAGE_RSOCKET_ROUTING,
routingMetadata.getContent());
谢谢