0

假设您正在编写一个许多客户使用的程序。一台服务器将只能处理一定数量的连接。您需要处理的连接越多,您需要的功率就越大,直到您获得包含不同设备的服务器场。例如,如果您运行一个应用程序,其中不同的客户端可以在您的服务器上存储数据,那么如何在每个设备上同步数据?存在哪些硬件/软件解决方案?或者所有数据是如何存储的?

4

2 回答 2

1

我可以建议一个手动创建程序的想法,仅使用文件系统,您可以在客户端和服务器之间交换文件,但是服务器程序会在一段时间内(例如每5分钟)广播他所有文件的列表。对于所有连接的客户端,然后交换将不得不等待(如果我们谈论的是大量文件)如果它是小文件,那么 30 秒或 1 分钟就足够了

于 2020-05-05T20:56:29.353 回答
0

有很多形式可以做到这一点......

我认为你需要有一个单一的事实来源,比方说(这种情况下的服务器)。

然后,您可以获得包含最新更改的增量编号版本 (id)。

因此,每个设备只能轮询该号码版本,以便了解是否是最新的。

如果没有,该设备可以向服务器询问该设备具有的版本的更改。

每次设备进行更改时,该更改都会存储在服务器上,并且版本会递增。

这可以是一种基本实现。如果您需要实时更新,您可以使用 Sockets 向该实现添加一些发布-订阅频道...或来自 pusher.com 的频道等服务

因此,每次设备在服务器上进行更改时,您都可以在频道上发送带有一些信息(更改)或新版本 ID 的通知,并且所有设备都可以通过更改更新信息(如果只有一个) 或询问服务器是否有很多更改(例如设备与互联网断开连接一段时间)。

于 2021-10-20T15:06:25.667 回答