【问题标题】:Java applet socket server permissionsJava 小程序套接字服务器权限
【发布时间】:2012-05-01 15:31:38
【问题描述】:
  • 我想制作一个Java 小程序,它用作套接字服务器(本地网络ips,或127 范围都可以)。
  • 我希望这个小程序在网页中运行。
  • 理想情况下,浏览器可以从文件系统 (file://...) 加载网页,但如果需要,我可以安装 HTTP 服务器。
  • 小程序需要能够与 JavaScript 交互。

我在浏览所有文档时遇到了麻烦。以上可能吗?我不熟悉java的安全模型。如果我需要签署小程序,或者设置一些特殊的安全或配置设置,那很好。

编辑- 万一有人好奇,小程序做的很少。我只想将它用作桥梁,以便在本地计算机上运行的另一个程序可以通过套接字进行通信。该程序提供值,javascript 将使用这些值实时更新 ui。 ui 很复杂,用 html/javascript 构建它会节省大量时间。我更喜欢 applet 功能作为套接字服务器而不是套接字客户端,因为否则我需要编写一个单独的程序来充当 applet 和其他程序之间的服务器。

【问题讨论】:

  • 小程序是做什么的,为什么要进行JS交互?
  • 我认为使用嵌入式小程序,因为 HTML/JS 对您来说开发速度更快,这是一个错误的方向。这会在部署和维护方面引起很多麻烦——创建 GUI 的时间更少,而缺点是部署/维护时间更长。它需要哪些实际的 GUI 元素?
  • 部署和维护在这里不是重要的考虑因素。这是供我和我兄弟个人使用的,这就是为什么调整安全设置(如果可能)是可以的。对于这个项目,我个人用 html/js 编写前端的效率可能比 java 高 20-30 倍,因此有必要做出巨大的牺牲。

标签: java security sockets applet


【解决方案1】:

以上可能吗?

当然。如果您控制该小程序和防火墙的安全/策略文件,这是一个单一的浏览器交易,它应该是可行的。如果从 JS 调用,您可能需要将一些小程序方法包装在 PrivilegedAction 中。

【讨论】:

  • 只是想跟进这在 Windows 上确实有效(我包装在 PrivilegedAction 中),尽管在 linux 上它的行为就像我对策略文件的编辑不存在。我有理由确定正确的策略文件已被编辑,因为它的位置是通过浏览器中的 java 控制台找到的。那好吧。我刚刚安装了一个网络服务器并通过 http 请求文件,而不是通过 file:// 协议加载它,这样策略编辑就不需要了,现在一切都很好。
猜你喜欢
  • 1970-01-01
  • 2011-09-18
  • 2015-07-20
  • 2013-02-11
  • 2010-10-11
  • 2011-11-28
  • 1970-01-01
  • 1970-01-01
  • 2021-12-15
相关资源
最近更新 更多