P2P (浏览器对浏览器) 使用Java

6

我希望能够实现一个Java应用程序,运行在网页上,允许以下操作:

  • 用户A(通过其浏览器)可以向用户B(已打开其浏览器)请求文件。当然,用户A知道用户B的IP和端口。
  • 用户B可以从其浏览器响应此请求。

我有哪些选项(Java库、技术等)可供选择?

谢谢!

1个回答

6
如果你想在浏览器中使用Java,唯一的方法就是使用applet。但是一个普通的(不受信任的)applet:
- 无法访问本地系统上的文件 - 无法监听任何端口 - 只能打开来自它所在服务器的套接字。
这是出于安全原因:applet不应该能够损害运行它的用户的计算机。因此,如果你想做你所说的事情,你需要让用户相信你并给你更多的权限。对于文件访问,最好的方法是使用JNLP API(即使用jnlp文件启动你的applet,然后在javax.jnlp中使用API,特别是FileOpenService和FileSaveService)。然后用户需要在选择文件之前确认访问权限。
这仍然对网络访问没有帮助 - 如果您不想在服务器上代理所有内容(这不是点对点的),则您的小程序需要具有适当的SocketPermissions。为此,您需要签署小程序,并向用户请求所有权限(我认为没有更精细的方式只授予必要的SocketPermissions)。您可以在jnlp文件中执行此操作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接