Netty Channel称远程地址是“嵌入式”的。我怎样才能找到发端人?

时间:2015-12-04 22:03:50

标签: java netty

我有几个不同的非常复杂的基于Netty 4的进程,它们有很多传入和传出连接。在某种情况下,我在一台机器上运行了十几个。

我有自己的处理程序和管道,在处理程序中,我查询ChannelHandlerContext以记录一组请求的远程端。

通常我会做这样的事情:

public void handle(ChannelHandlerContext ctx, HttpRequest request){
    System.out.println(ctx.getChannel().getRemoteAddress());
}

在这种情况下,远程地址的类型为EmbeddedSocketAddress,只返回“embedded”。

在正常情况下,我可以从InetSocketAddress获取IP /端口并使用lsof查找谁正在进行呼叫。在这种情况下,我不能。

如何找出调用我的处理程序的人/谁?

1 个答案:

答案 0 :(得分:0)

好的,所以我发现了这些来自哪里。创建我的管道的框架运行"热身"将这些请求直接注入管道而没有远程端的例程。我为我的白痴道歉。