En mi clase (extiende SimpleChannelHandler) Estoy tratando de obtener la dirección IP desde donde se envió originalmente el mensaje.Netty: obtener dirección IP remota en 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));
..
Esto imprime IP 10.0.0.1 (puerta de enlace), en lugar de la dirección del cliente correcto (10.52.45.4).
¿Hay alguna forma de obtener la ip que estoy tratando o podría haber algún problema con la configuración de la red?
Sólo una pequeña actualización en la sintaxis con la última netty 4.1.5 '((InetSocketAddress) ctx.channel(). remoteAddress()). getAddress(). getHostAddress();' – Aaron