Applet无法在localhost上创建套接字连接

时间:2011-04-15 22:43:17

标签: java security networking same-origin-policy

我有一个java applet,一旦加载到用户机器上(通过网页),我希望它在正在查看它的本地机器上创建一个服务器套接字和套接字。这是不允许的吗?

2 个答案:

答案 0 :(得分:4)

Java小程序可以打开Socket同源主机。大约十年左右,他们也可以打开ServerSocket(操作系统通常会限制1024以下的侦听端口)并仅接受来自同源主机的连接。此外,crossdomain.xml可能会从6u10开始放松限制。

对于localhost,请注意:面向IP地址的机器与127.0.0.1不同,从file URL加载的代码与127.0.0.1的网络连接不匹配(尽管有时是空字符串)可以解释为localhost;还要注意你的类路径可能指向的内容(比如.)可以优先加载到网络加载的代码,具体取决于你正在做什么,但通常不通过浏览器),JavaScript只有相同的-origin权限仅在与下载代码相同的端口上连接到同一主机。

答案 1 :(得分:0)

如果您对applet进行数字签名,它可以显然运行“不受限制的”http://download.oracle.com/javase/tutorial/deployment/applet/security.html(与java webstart相同)