【问题标题】:Retrieve data from IP address/port using browser applet使用浏览器小程序从 IP 地址/端口检索数据
【发布时间】:2012-03-12 05:44:50
【问题描述】:

我的目标是将数据从 PC 发送到查看站(运行 Linux,在同一网络上),以便查看站 (VS) 的用户可以查看数据图。我不允许在 Viewing Station 上安装任何应用程序,但它确实有浏览器(例如 Firefox 或 Chrome)。

我能想到的唯一方法是创建一个在浏览器中打开的 Java 小程序(在查看站上),它从查看站上的 IP 地址/端口读取数据。

这可能吗?我该怎么做呢?谢谢

编辑:我无法在本地网络之外发送要绘制的数据。数据从 PC 发送到查看站所在的本地 IP 地址。 场景:

  1. PC 开始将要绘制的数据发送到固定 IP 地址(查看站所在的位置)。
  2. 用户在查看站中打开浏览器并打开显示图表的内容。该图应包含从预定义端口/IP 地址接收的数据。
  3. 每 240 毫秒添加一次新值。

edit2:我们暂时搁置了此功能,因此我无法尝试上述任何解决方案。感谢您的意见

【问题讨论】:

  • 是否有什么东西阻止您在“发送”端运行网络服务器并使用 javascript 等呈现图表?
  • 感谢您的回复,托马斯。我不应该在本地网络之外发送数据。数据从 PC 发送到本地 IP 地址(查看站所在的地址),并在该地址以图表的形式显示。

标签: java applet ip-address port


【解决方案1】:

您的计划的主要问题是您无法将数据“推送”到查看器,除非那里有接受数据的服务。如果您无法安装此类服务,您的选择将受到限制。

1:映射网络驱动器。 “生产者”将数据转储到此处,“查看者”可以读取它。鉴于您的限制,您不太可能被允许这样做。

2:使用其他人建议的任何图形库并配置您的网络服务器以限制对主机白名单的访问。您的“生产者”运行一个网络服务器,该服务器仅将页面提供给特定 IP 或子网,您的“消费者”连接到所述网络服务器。请参阅 herehere 以设置仅允许从特定 IP 访问的网络服务器。

【讨论】:

    【解决方案2】:

    如果服务器端解决方案不实用,我希望使用 JS 和 HTML 5 画布实现简单的图形。如需更复杂的图表,请查找 JS API。

    如果服务器端解决方案可行,请使用JFreeChart(或 JCharts 等)在服务器端生成图像,然后将该图像提供给客户端。

    虽然客户端可能安装了浏览器,但这并不一定意味着在这些浏览器中安装并启用了 Java。

    【讨论】:

    • 客户端上的浏览器已经运行了一些其他的Java小程序,所以我假设它已经安装并启用了Java。我在想一个场景,用户打开一个包含小程序的 Web 链接,小程序从本地 IP 地址/端口读取数据以绘制数据。
    • 我不确定。这听起来像是需要受信任的小程序,但如果“不允许安装任何应用程序”有任何迹象,Java 将被阻止允许除完全受信任的数字证书之外的所有数字证书(读作“昂贵”)。顺便说一句,尽管对于用户或新手开发人员来说并不明显,但即使是沙盒小程序在启动之前也会下载到本地文件系统上的某个位置。或者换句话说,它已安装。加载小程序的网页在哪里?如果它是从 VS 上的文件系统读取的,那么这是另一个需要“安装”的文件。
    • 我在想我会创建一个网页,其中包含用户可以从 VS 打开的小程序(并可能将其放在公司网站上)。另外,我可以不提示用户请求允许以完全访问权限运行小程序,而实际上没有受信任的证书吗?用户已经知道我的是一个受信任的小程序。感谢您的耐心等待
    • 他们可以从那台电脑上网吗?如果是这样,可以访问我的self signed applet 快速回答您的问题。它将在 JRE 中查询 java.versionuser.name 并将它们显示在表中。第一个可用于任何小程序,但对于任何不受信任的小程序,第二个将显示为unknown
    • 名称值 java.version 1.6.0_29 user.name unknown.... 这就是我电脑上显示的内容。我知道小程序无权访问用户名。当我单击“复制到剪贴板”时,小程序会请求写入剪贴板的权限。我可以做类似的请求并请求从端口读取的权限吗?
    【解决方案3】:

    使用JCharts。它允许您制作图形和图表并通过 servlet、applet 或独立 UI 显示它们。将其编码到服务器端的一些 servlet 中,然后您可以在客户端浏览器上查看它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-19
      • 2017-07-12
      • 2011-08-04
      • 2021-12-11
      • 2016-06-25
      • 2014-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多