我有几个不同的非常复杂的基于Netty 4的进程,它们有很多传入和传出连接。在某种情况下,我在一台机器上运行了十几个。
我有自己的处理程序和管道,在处理程序中,我查询ChannelHandlerContext以记录一组请求的远程端。
通常我会做这样的事情:
public void handle(ChannelHandlerContext ctx, HttpRequest request){
System.out.println(ctx.getChannel().getRemoteAddress());
}
在这种情况下,远程地址的类型为EmbeddedSocketAddress,只返回“embedded”。
在正常情况下,我可以从InetSocketAddress获取IP /端口并使用lsof查找谁正在进行呼叫。在这种情况下,我不能。
如何找出调用我的处理程序的人/谁?
答案 0 :(得分:0)
好的,所以我发现了这些来自哪里。创建我的管道的框架运行"热身"将这些请求直接注入管道而没有远程端的例程。我为我的白痴道歉。