【问题标题】:How to get the remote host from a rsocket如何从 rsocket 获取远程主机
【发布时间】:2021-03-03 03:41:08
【问题描述】:

我现在在我的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");
}

【问题讨论】:

  • 像socket.getRemoteSocketAddress()一样,我想从rsocket获取远程主机

标签: rsocket rsocket-java


【解决方案1】:

不幸的是,我认为即使您在@ConnectMapping 或@MessageMapping 方法中获取RSocketRequester,它也是一个内部细节。 io.rsocket.core.RSocketRequester 通过 RequesterResponderSupport 持有 DuplexConnection,它表示通过 tcp、Web 套接字或进程内的连接。它不通过公共 API 公开。

这是一个有价值的请求,但除非我遗漏了一些明显的东西,否则您需要提交功能请求才能添加它。

目前尚不清楚https://docs.spring.io/spring-boot/docs/2.3.0.RELEASE/api/org/springframework/boot/rsocket/server/RSocketServerCustomizer.html 中有一个钩子,可以让您看到 DuplexConnection(tcp 或 web 套接字等)的建立。

【讨论】:

  • 感谢您的回答!确实,正如您所回答的那样,连接的信息受到保护。想查看远程地址就麻烦了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-13
  • 1970-01-01
  • 2019-06-03
  • 1970-01-01
  • 1970-01-01
  • 2012-03-01
相关资源
最近更新 更多