Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通知java桌面客户端来自服务器的更改?_Java_Desktop_Notify - Fatal编程技术网

如何通知java桌面客户端来自服务器的更改?

如何通知java桌面客户端来自服务器的更改?,java,desktop,notify,Java,Desktop,Notify,我想用Java开发一个桌面应用程序(我已经掌握了Java的基本知识)。它将在客户端的计算机上运行,并将从托管在internet上的服务器中提取信息。我可以设置一个计划任务,每2分钟连接一次服务器,并检查是否有任何更新/更改,但我认为这不是一个好主意。有没有办法让客户知道这些变化?例如,每当发生更改时,服务器都会向客户端发送更新通知?服务器可能使用不同的技术,例如Java 任何帮助都将不胜感激,再次感谢 如果使用Java服务器,则可以使用JMS将消息从服务器发送到应用程序 或者,您可以使用Come

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


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

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

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

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


资源:

推送客户总是很困难的——主要是因为防火墙。在大多数情况下,使客户机从服务器(使用HTTP)拉入更有可能工作

现在,您每两分钟进行一次投票。这可能是合适的——或者,根据您正在更新的内容,更少些(比如一天一次)这样做可能更好。如果是对客户端软件的更新,很少的更新也可以。如果是聊天对话的更新,即使两分钟也太长了——在这种情况下,你应该把它作为一种技巧来研究。(实现长轮询有多种技术;您不必使用任何特定的技术——这就是为什么我将其描述为一种技术而不是任何其他技术。)