我有一台服务器,我的 java Web应用程序和数据库 服务器驻留。
现在我的网络应用的客户是 有两种类型:
- ClientType1
- ClientType2
两者都可以访问数据库。
ClientType1 将数据存储在数据库中。
ClientType2 从数据库中检索数据。
但 ClientType1 应该启动 将数据存储在数据库中 当 ClientType2 说 的开始
类似 ClientType1 应该停止将数据存储在数据库中 当 ClientType2 表示停止
时
=============================================== ============================
Q1。此问题有哪些解决方案?
以下是我想到的方法:
在数据库中创建一个表,其中一列显示状态开始或停止,此列的值应由 ClientType2设置。 ClientType1 会继续将查询发送到数据库以获取此表中的状态,并根据状态执行操作。
应用 ServerPush 方法,服务器将与 ClientType1 保持连接,并在收到时立即向他发送请求 ClientType2 中的命令(开始或停止)。这种方法的问题在于没有。服务器上的开放插座将随着增加而增加。 ClientType1
答案 0 :(得分:0)
我并不认为通过数据库进行进程间通信是一种很好的方法。典型情况是客户端向服务器注册自己,使其有资格使用基于套接字的机制接收消息。
然后客户可以:
如果有许多客户端保持开放连接会出现问题,您可以在每次需要与服务器通信时启动新连接,或者让服务器提供例如服务器可以提供的某种REST API轮询。
答案 1 :(得分:0)
你应该使用一种Ajax,因为这会抽象出“服务器可以调用客户端”。
选择一个允许您打开单个连接并通过此连接执行多项操作的库。