我是 Camel、Netty 和 UDP 的新手,但我已经研究了一段时间,但仍然无法弄清楚发生了什么。
我要做的就是使用 Camel 和 Netty 实现一个 UDP 侦听器(目前在 Windows 7 上,但将把项目移到 Linux 上)。我的弹簧配置如下:
<camel:camelContext id="test">
<camel:route>
<camel:from uri="netty:udp://localhost:5150?sync=false"/>
<camel:to uri="log:cameltest?level=DEBUG"/>
<camel:to uri="file://outbox"/>
</camel:route>
</camel:camelContext>
侦听器似乎可以正常启动(通过 Eclipse 运行)。但是,当我执行 netstat 时,我看到:
UDP 0.0.0.0:5150
UDP [::ffff:127.0.0.1]:5150
当我期望它在 127.0.0.1 上收听时。我在网上读到的任何内容都不清楚这是否是 Camel/Netty/UDP 的预期行为。
我正在通过从 Java NIO UDP 客户端发送来对此进行测试。如果 NIO UDP 服务器正在侦听,它会很好地接收数据包(全部通过 localhost 完成)。
我还测试了一个 Camel/Netty/TCP 监听器,效果很好。
为什么监听器监听所有本地地址?如果是这样,为什么它没有从本地主机接收我的数据包?