在两种方法之间做出决定,以在两个JVM之间实现基于套接字的IPC

时间:2019-04-20 21:05:41

标签: java sockets protocols ipc

我正在用Java构建一个本地主机服务器/客户端,它将有多个客户端共享一些数据,因此我需要在客户端进程之间进行某种形式的通信,因此我决定使用套接字。但是,由于我不确定哪种方法更快,更不容易出错,因此我很难在两种实现方法之间做出选择。

方法1::服务器将在本地存储所有变量。当客户端上的某些信息更新时,客户端会将这些信息发送到服务器以更新其数据库。在客户端执行任何需要数据库中数据的操作之前,客户端会向数据库请求最新数据,然后对其执行任何操作,然后将修改后的数据发送回数据库。

方法2:服务器将不包含任何数据,仅充当发送消息的媒介。当客户端上的某些信息更新时,客户端会将此信息发送给所有其他客户端,然后这些客户端将在本地拥有最新数据的副本。然后,他们不需要从服务器请求数据,因为他们将始终将数据发送给他们。

我已经实现了方法2,但是我认为这可能有点过大,并且随着项目的扩大,可能难以扩展,这就是为什么我要转向方法1。我不确定方法1的鲁棒性。我应该使用哪种方法,为什么?

0 个答案:

没有答案