用于本地主机的getCanonicalHostName可在Win 7上运行,但不能在XP上运行?
|
以下简单代码在Windows 7上可以正常工作,返回完全限定的名称(例如\'myhost.x.com \')。但是,当在同一网络中的Windows XP计算机上运行时,它仅返回主机名(例如\'myhost \')。这是一个已知的问题?任何解决方法?
hostName = InetAddress.getLocalHost().getCanonicalHostName();
上下文:要匹配来自远程服务器上同一原始计算机的进程。客户端进程传入其主机名,以便服务器可以对来自同一客户端计算机的请求进行分组,即使它们来自该计算机上的不同应用程序也是如此。当一个客户端进程是Java而另一个客户端进程是C#时,我们看到在使用XP的客户端计算机上运行的应用程序不匹配,因为一个客户端进程是完全合格的,而一个不是完全合格的。 Windows 7客户端工作正常。最初认为.NET无法在XP上获得FQDN,但现在看来是使用上述代码的Java客户端。
更新:在同一台XP机器上,C ++客户端(不是.NET)也可以获得完整名称。因此,似乎在这三者中,只有这台计算机上的Java无法使用此API获得FQDN。这是Java 1.6.0_20-b02。另外,Java和C ++中的代码也需要在非Windows平台上工作。
没有找到相关结果
已邀请:
1 个回复
厘恼轨