我使用了客户端,客户端将通过HornetQ和Netty
创建与服务器的连接每1分钟,服务器将发送心跳,客户端(谁已订阅)将收到此消息。在消息中,我包含了服务器的根IP
如果此服务器只有1个网卡(NIC),那么一切都会好的。
但是在这种情况下,服务器有2个或更多的网卡。我遇到了问题。
在客户端收到消息时,服务器的IP不正确。
我使用InetAddress.getLocalHost().getHostAddress()
来获取root IP,我知道错误,在这种情况下服务器有2个NIC
那么你能给我一些建议吗,我怎么能在这里获得正确的IP?
有些人说我们可以参考"用于获取正确IP的套接字"。你知道我们怎么能得到它吗?
答案 0 :(得分:0)
首先,我不明白为什么你需要IP地址,如果你想实现心跳,它不是必需的,如果你使用过org.hornetq.jms.client.HornetQJMSConnectionFactory
它会自动进行心跳检查。如果您有两台服务器并希望区分服务器,请使用clientId并将其发送到消息头中,并且在收听时您可以根据clientId或其他方法选择使用sync jms调用的消息。