现在我在spring项目中收到了一个rsocket连接,然后我想获取它的远程地址和端口,我应该如何获取它呢?类似于使用socket.getRemoteSocketAddress()来获取socket的远程地址。
@ConnectMapping
public void connectMapping(RSocketRequester requester) {
// there is a resockt connect, how can i get the remote host from it
RSocket rSocket = requester.rsocket();
// TODO
logger.info("host port");
}发布于 2021-03-03 14:10:37
不幸的是,我认为即使你在@ConnectMapping或@MessageMapping方法中获取RSocketRequester,它也是一个内部细节。通过RequesterResponderSupport的io.rsocket.core.RSocketRequester保存表示通过tcp、web套接字或进程中的连接的DuplexConnection。它不是通过公共API公开的。
这是一个有价值的请求,但你需要提交一个功能请求来添加它,除非我遗漏了一些明显的东西。
目前还不清楚https://docs.spring.io/spring-boot/docs/2.3.0.RELEASE/api/org/springframework/boot/rsocket/server/RSocketServerCustomizer.html中是否有一个钩子可以让您在DuplexConnection (tcp或web socket等)建立时看到它。
https://stackoverflow.com/questions/66450436
复制相似问题