gpt4 book ai didi

java - Netty:在messageReceived中获取远程IP地址

转载 作者:搜寻专家 更新时间:2023-10-30 21:33:07 26 4
gpt4 key购买 nike

在我的类(class)(扩展 SimpleChannelHandler)中,我正在尝试获取最初发送消息的 ip。

@Override
public void messageReceived(ChannelHandlerContext ctx, MessageEvent ev) throws Exception {
String host = ((InetSocketAddress)ctx.getChannel().getRemoteAddress()).getAddress().getHostAddress();
int port = ((InetSocketAddress)ctx.getChannel().getRemoteAddress()).getPort();
LOG.debug(String.format("host:%s port:%d", host, port));

..

这会打印 ip 10.0.0.1(网关),而不是正确的客户端地址 (10.52.45.4)。

有什么方法可以获取我正在尝试获取的 ip,或者网络配置是否有问题?

最佳答案

我猜你看到了网关 ip,因为网关做了某种 NAT。如果是这样,您唯一的机会就是在您的协议(protocol)中包含源 IP 地址并从那里提取它。

关于java - Netty:在messageReceived中获取远程IP地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11865165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com