迁移现有的Spring Websocket处理程序以使用rsocket

问题描述 投票:0回答:1

假设我有一个用于聊天消息的简单Websocket处理程序:

@Component
public class ReactiveWebSocketHandler implements WebSocketHandler {
    @Override
    public Mono<Void> handle(WebSocketSession webSocketSession) {
        final Flux<WebSocketMessage> message = webSocketSession
                .receive()
                .map(webSocketMessage -> webSocketMessage.getPayloadAsText())
                .map(name -> "Hello, " + name + "!")
                .map(greetings -> webSocketSession.textMessage(greetings));
        return webSocketSession.send(message);
    }
}

一般来说,这里需要做些什么,因为它将使用rsocket协议?

spring rsocket
1个回答
0
投票

Spring WebFlux中的RSocket控制器比WebSocketHandler看起来更像RestController。所以上面的例子很简单:

@Controller
public class RSocketController {

    @MessageMapping("say.hello")
    public Mono<String> saHello(String name) {
        return Mono.just("server says hello " + name);
    }
}

这等效于requestResponse方法。

如果此答案不能使您满意,请描述更多您想要实现的目标。

© www.soinside.com 2019 - 2024. All rights reserved.