gpt4 book ai didi

Java - 网络应用程序 - 实时

转载 作者:行者123 更新时间:2023-12-02 05:20:49 29 4
gpt4 key购买 nike

构建将在“桌面”而不是浏览器中运行的 Java 应用程序的推荐策略是什么。该应用程序的特点是:

1. Multiple application instances would be running on different machines
2. Applications must communicate in real-time (if one user make changes,
in another application data must be refreshed)

最佳答案

您想创建一个网络应用程序吗?基于socket等等?关于你的两个问题,我前段时间已经实现过这个场景,而且我正在做类似的工作,一点也不复杂,但我会根据你关心的两个问题来回答你。

  1. 多个应用程序实例将在不同的计算机上运行。

如果您要在人们的桌面上安装应用程序的实例,我建议对“路径”非常小心,不要对任何路径进行硬编码,因为资源加载将是动态的。

仔细检查您的应用程序将安装的网络架构。也许只是一个局域网,或者可能工作在一个大网络中并通过VPN访问等。检查一下是什么场景。

一旦你确保你的应用程序在不同的机器上运行良好,没有任何路径冲突或资源加载冲突,你就可以导出你的jar,使用maven、ant等生成它。

此外,如果您想继续,您可以使用任何安装向导创建来创建安装程序,并为 Windows 创建批处理文件 (.exe) 或为 Linux 发行版创建批处理文件 (.sh)。但这些只是安装阶段的建议。

另一方面,如果您想将应用程序作为 Java 桌面来执行,但使用 URL 来启动它,您可以看看 JNLP。

  • 应用程序必须实时通信(如果一个用户进行更改,其他用户将能够看到)
  • 如果您想这样做,您肯定需要一台服务器来提供和存储信息。服务器可以是设置在办公室的物理机器,也可以是远程机器。

    这里有两个选择:

    使用 Java 网络:创建一个用作提供和保存信息的服务器的应用程序(它应该是一个并发环境,因为许多人将通过它执行事务或查询)。检查如何使用套接字创建基本的服务器-客户端应用程序,以更好地了解它的工作原理,然后您就不会遇到增加环境所需要求的复杂性的问题。

    您可以简单地开发一个基于 Java REST 的应用程序,并使您的客户端应用程序连接到机器(如果您计划实现负载平衡,则连接到机器)并使用这些 REST。您可以查看 Jersey 库来实现您的场景。确保为这些 Web 服务添加安全性,并使服务器对您的应用程序实例将在其中运行的网络进行私有(private)访问。

    嗯,这就是我可以告诉您的关于您尝试实现的场景的内容,基于我已经完成的工作以及到目前为止我正在做的事情。

    也许如果您需要更多或进一步的信息,您可以在评论中回复,这会对您有很大帮助。

    问候并祝您编码愉快:)

    关于Java - 网络应用程序 - 实时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532692/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com