我正在用Java构建一个本地主机服务器/客户端,它将有多个客户端共享一些数据,因此我需要在客户端进程之间进行某种形式的通信,因此我决定使用套接字。但是,由于我不确定哪种方法更快,更不容易出错,因此我很难在两种实现方法之间做出选择。
方法1::服务器将在本地存储所有变量。当客户端上的某些信息更新时,客户端会将这些信息发送到服务器以更新其数据库。在客户端执行任何需要数据库中数据的操作之前,客户端会向数据库请求最新数据,然后对其执行任何操作,然后将修改后的数据发送回数据库。
方法2:服务器将不包含任何数据,仅充当发送消息的媒介。当客户端上的某些信息更新时,客户端会将此信息发送给所有其他客户端,然后这些客户端将在本地拥有最新数据的副本。然后,他们不需要从服务器请求数据,因为他们将始终将数据发送给他们。
我已经实现了方法2,但是我认为这可能有点过大,并且随着项目的扩大,可能难以扩展,这就是为什么我要转向方法1。我不确定方法1的鲁棒性。我应该使用哪种方法,为什么?