使用camel-netty tcp与远程主机通信

时间:2011-08-15 15:49:50

标签: tcp apache-camel netty

我有一个程序在远程主机上运行,​​我需要连接,握手,然后侦听消息。我已经设置了以下骆驼路线:

<route>
   <from uri="netty:tcp://localhost:50001?decoders=#decoders&amp;sync=false" />
   <bean ref="TransformMessage" method="inboundDecoder" />
   <to uri="eventadmin:messages/aacus/inbound" />
</route>

<route>
   <from uri="eventadmin:messages/aacus/outbound" />
   <bean ref="TransformMessage" method="outboundEncoder" />
   <to uri="netty:tcp://192.168.0.111:50001?allowDefaultCodec=false&amp;sync=false" />
</route>

我的问题是如何使这项工作?如果我使用

建立路线

<from uri="netty:tcp://192.168.0.111:50001?decoders=#decoders&amp;sync=false" />

它因绑定错误而失败。

如何在不修改服务器的情况下设置连接以响应特定端口?

2 个答案:

答案 0 :(得分:1)

在撰写本文时,无论是camel-mina还是camel-netty,这都是不可能的。使用者只能绑定到本地服务器。 Apache有一张JIRA票,用于实现未来的这一新功能。 https://issues.apache.org/jira/browse/CAMEL-1077

答案 1 :(得分:0)

使用以下解决方法:

而是ob 192.168.0.111使用localhost。 然后安装“socat”并按如下所示启动它

socat -s -u tcp4:192.168.0.111:50001 tcp4:localhost:50001

这将隧道远程连接到您使用camel / netty创建的本地服务。