似乎在最新的Java更新版本1.7.0u45中,我的JNLP应用程序被连接到服务器而被强制尝试连接到localhost,原因我似乎无法弄清楚。
我知道已经进行了一些其他更改,例如要求清单中的Permissions
属性以及一些此类内容,我正在尝试找出合理的方式来遵守,但我不能找到任何应该导致这种行为的东西。
我的代码只是对特定服务器进行普通Socket.connect
调用,但会发生的是连接是对localhost进行的。这仅在代码在JNLP客户端中运行时发生;不是当我通过启动它来“手动”运行它时。
有谁知道这是为什么?
答案 0 :(得分:0)
最后,我设法弄清楚发生了什么。事实上,这样的连接并没有被重定向,而是JNLP客户端已经开始阻止未使用某些名称设置系统属性而签名的JNLP文件。特别是,只有名称以jnlp
开头的属性才能保证可由未签名的JNLP文件配置。
因此,问题是我通过名称不以jnlp
开头的系统属性指定要连接的服务器,然后被阻止(因为我的JNLP文件未签名)导致我的程序使用其默认服务器规范,而不是localhost。