Trong lớp học của tôi (mở rộng SimpleChannelHandler) Tôi đang cố gắng để có được ip nơi tin nhắn ban đầu được gửi từ.Netty: nhận địa chỉ ip từ xa trong messageReceived
@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));
..
Điều này in ip 10.0.0.1 (cổng), thay vì địa chỉ khách hàng chính xác (10.52.45.4).
Có cách nào để nhận được ip tôi đang cố gắng hoặc có thể có điều gì đó sai với cấu hình mạng không?
Chỉ cần cập nhật nhẹ trong cú pháp với mới hơn netty 4.1.5 '((InetSocketAddress) ctx.channel(). remoteAddress()). getAddress(). getHostAddress();' – Aaron