5

我想用 Java 开发一个桌面应用程序(我对 Java 有非常基本的了解)。它将在客户端的计算机上运行,​​并将从托管在互联网上的服务器中提取信息。我可以设置一个计划任务以每 2 分钟连接一次服务器并检查是否有任何更新/更改,但我认为这不是一个好主意。有什么方法可以让客户知道这些变化吗?例如,当每一个更改服务器都会向客户端发送更新通知?服务器可能采用不同的技术,例如 Java

任何帮助将不胜感激,再次感谢!

4

2 回答 2

5

送给客户总是很困难的——主要是因为防火墙。在大多数情况下,让客户端从服务器(使用 HTTP)拉取更有可能奏效。

现在,您当前每两分钟轮询一次。这可能是合适的 - 或者根据您要更新的内容,最好少做(例如一天一次)。如果它是对客户端软件的更新,那么很少的更新就可以了。如果它是聊天对话的更新,即使两分钟也太长了——在这种情况下,您应该将彗星/长轮询作为一种技术来研究。(实现长轮询有多种技术;您不必使用任何特定的东西——这就是为什么我将其描述为一种技术而不是其他任何东西。)

于 2010-09-08T21:23:50.293 回答
1

如果您使用 Java 服务器,则可以使用 JMS 将消息从您的服务器发送到您的应用程序。

或者您可以使用 Comet 应用程序通过 HTTP 将消息推送到客户端。

第三种方法是创建您自己的推送系统,您的客户端连接到服务器以提供有关如何联系的一些信息,并使用 Observer/Observable 模式在每次修改时通知每个客户端。


资源 :

于 2010-09-08T21:22:52.653 回答