2015-02-06 36 views
0

我使用的客户端和客户端将通过HornetQ和Netty创建一个连接到服务器如何知道在JMS中使用的套接字?

每1分钟,服务器将发送心跳和客户端(谁subscribe)将收到此消息。在邮件中,我包含了服务器的根IP地址

如果此服务器只有一个网卡(NIC),则一切正常。

但是在这种情况下,服务器有2个或更多的网卡。我遇到了问题。

在消息被客户端收到时,服务器的IP不正确。

我用InetAddress.getLocalHost().getHostAddress()去根IP,我知道错在这种情况下,服务器有2个网卡

所以,你可以给我一些建议,我怎么能在这里得到正确的IP?

有些人说我们可以参考“用于获取正确IP的套接字”。你知道我们怎么能得到它吗?

+0

与论坛网站不同,我们不使用“谢谢”或“任何帮助表示赞赏”,或在[so]上签名。请参阅“[应该'嗨','谢谢',标语和致敬从帖子中删除?](http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be - 从帖子中删除)。顺便说一句,它是“提前致谢”,而不是“感谢先进”。 – 2015-02-11 06:44:05

回答

0

首先我不明白你为什么需要IP地址,如果你想实现心跳,那不是必需的,如果你用过org.hornetq.jms.client.HornetQJMSConnectionFactory它会自动做心跳检查。如果您有两台服务器并想区分不同的服务器,请使用clientId并将其发送到消息头中,并且在侦听时您可以选择基于clientId的消息或其他方法使用同步jms调用。

相关问题