【问题标题】:Netty Channel says remote address is "embedded". How can I find the originator?Netty Channel 说远程地址是“嵌入的”。如何找到发起人?
【发布时间】:2016-03-09 23:17:32
【问题描述】:

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

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

通常我会这样做:

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

在这种情况下,远程地址是 EmbeddedSocketAddress 类型,并且只返回“嵌入”。

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

我怎样才能知道什么/谁在调用我的处理程序?

【问题讨论】:

    标签: java netty


    【解决方案1】:

    好的,所以我发现了这些是从哪里来的。创建我的管道的框架运行一个“预热”例程,将这些请求直接注入管道,而无需远程端。我为我的愚蠢道歉。

    【讨论】:

    • 不可避免地,找到答案的最佳方法是打我几个小时的头,然后再问。然后一切都暴露了,我沉浸在自己的愚蠢中:/
    猜你喜欢
    • 1970-01-01
    • 2012-08-05
    • 2011-04-13
    • 2012-06-09
    • 1970-01-01
    • 2014-04-10
    • 1970-01-01
    • 2012-01-09
    • 2015-09-23
    相关资源
    最近更新 更多