Java以编程方式获取REAL环回地址

时间:2016-08-23 04:06:58

标签: java sockets citrix loopback

我正在开发一个Java应用程序,它将侦听本地端口与另一个程序进行通信。通常它会收听,比如127.0.0.1:8808。

我的一个客户报告他们正在使用Citrix环境,它就像MS远程桌面环境,多个用户可以同时登录同一台机器。

您可能知道,这样的终端服务器用户共享一个环回地址,这意味着只有第一个用户运行我的应用程序才能成功绑定到127.0.0.1:8808,其他用户将收到资源冲突错误。

我的客户端尝试通过启用“虚拟环回”来解决此问题,此设置可以自动为不同的用户分配不同的环回地址,每个用户将获得127.0.0.2-127.0.0.255作为环回地址而不是所有127.0.0.1,这听起来像是这种情况的完美解决方案。

测试显示虚拟环回适用于其他程序,如chrome和IE,TCPView工具显示与localhost的任何连接都重定向到127.0.0.2,除了我的程序。

我在想这个问题可能是因为我在代码中使用了固定地址127.0.0.1,但我没有确认的环境。所以我的问题是:在这种情况下,我可以使用任何Java方法来获取REAL环回地址,所以我可以绑定到正确的地址吗?

提前致谢!

0 个答案:

没有答案