未签名的applet套接字JavaScript

时间:2010-11-17 10:46:05

标签: java javascript applet

使用Java 1.6.0.22我无法打开到localhost的套接字,applet是无符号的,正在从网络服务器加载http://localhost/myapplet

如果我从我的计算机ip 192.168.1.x加载它并打开一个套接字到该ip它可以工作

使用一个只打开套接字的简单演示,但是只要我的applet使用JavaScript到Java调用套接字就行不通。

如果我添加一个crossdomain.xml文件,套接字会再次运行。

  

如果我只允许127.0.0.1,它就不起作用

1.6.0.17可以正常使用

这与问题类似 Socket connection to originating server of an unsigned Java applet

但在我的情况下,我从网络服务器加载applet而不是从本地文件系统加载。

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

未签名的小程序只能打开与其加载的主机的连接。

答案 2 :(得分:0)

Oracle知道严重限制Applet使用的Java问题:Java运行时环境中的安全漏洞可能允许从本地文件系统加载的代码访问LocalHost。翻译:如果您希望运行与Tomcat等服务器通信的Java Applet,则无法使用最新的Java版本进行操作

他们的解决方案是:此问题没有解决方法。

他们知道这个问题多久了? 2008年12月3日,Bug Id 6704154

您可以在https://identity.sun.com/amserver/UI/Login?org=self_registered_users&goto=http://sunsolve.sun.com/show.do?target=home

验证上述信息

答案 3 :(得分:-1)

虽然文档说applet只能打开与它加载的主机的连接,但是使用Tomcat 5时,该语句不正确。我有一个小程序,总是生成一个,“AccessControlException:访问被拒绝(java.net.SocketPermission 66.167.210:80连接,解决”,即使我已经给这个URL的套接字权限。我仍然试图解决这个问题我愿意接受任何建议。