目的: 我正在尝试用Java创建实时Web服务。当数据库发生变化时,客户端(可能是Android客户端)中的数据将自动更改而无需刷新。
平台: 我正在使用Tomcat 7容器和Axis2。
问题: 我陷入了困境。我意识到有两种方法: 1.当服务器中的数据发生变化时,请通知所有客户端。网络服务允许我们这样做,但我不知道我必须告知哪些客户! 2.客户端连接到服务器,保持连接活动,并在发生更改时更新数据。但是,如果客户端是手持设备,它将通过3G网络消耗大量电力和数据。
我知道这是一个复杂的问题。所以我只想问一下有效的方法吗?如果可能的话,任何人都可以给我一个像这样的实时网络服务的例子吗? 我搜索了很多页面,但没有任何帮助。谁能给我一些建议? TKX!
答案 0 :(得分:1)
是否需要使用Web服务或Axis?否则,您可能对WebSockets感兴趣。这些是通过纯HTTP的连接,提供双向通信。您的客户端将连接到您的服务器,只要有新数据,您的服务器就可以将数据推送到它所知道的每个连接,从而通知所有已连接的客户端。