使用Java的P2P(浏览器到浏览器)

Art*_*uro 6 java browser applet p2p java-ee

我想实现一个在网页上运行的Java应用程序,并允许:

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

我有哪些选项(Java库,技术......)?

谢谢!

Paŭ*_*ann 7

如果您希望在浏览器中使用Java,那么唯一的方法就是applet.

但是一个普通的(不受信任的)applet:

  • 无法访问本地系统上的文件
  • 不能在任何港口听
  • 只能在它来自的服务器上打开套接字.

这是出于安全原因:applet不应该损害运行其计算机的用户.

所以,如果你想做你说的话,你需要用户信任你并给你更多的权限.对于文件访问,要采用的方法是JNLP API(即使用jnlp文件启动applet,然后在javax.jnlp中使用API ,特别是FileOpenService和FileSaveService.然后用户需要在选择之前确认访问权限带文件选择器的文件.

这仍然对网络访问没有帮助 - 如果您不想代理服务器上的所有内容(这不是点对点),您的applet需要在那里拥有合适的SocketPermissions.为此,您需要签署您的applet,并请求用户的所有权限(我认为没有更细粒度的方式只提供必要的SocketPermissions).您可以在jnlp文件中执行此操作.