如何知道JMS中使用的套接字?

时间:2015-02-06 04:04:27

标签: jms netty hornetq

我使用了客户端,客户端将通过HornetQ和Netty

创建与服务器的连接

每1分钟,服务器将发送心跳,客户端(谁已订阅)将收到此消息。在消息中,我包含了服务器的根IP

如果此服务器只有1个网卡(NIC),那么一切都会好的。

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

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

我使用InetAddress.getLocalHost().getHostAddress()来获取root IP,我知道错误,在这种情况下服务器有2个NIC

那么你能给我一些建议吗,我怎么能在这里获得正确的IP?

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

1 个答案:

答案 0 :(得分:0)

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