不确定此问题属于哪个类别;也许是一般的网络/设计/算法。
对于一个项目,我正在寻找一台具有多个连接客户端的服务器。一段时间后,当所有客户端都已连接时,服务器应向每个客户端发送一条消息,指示他们采取某些措施。我需要保证每个客户端都会在完全相同的时间执行此操作。从理论上讲,如何做到这一点?我会遇到什么实际的复杂情况?我的目标平台是移动的。
我能想到的一个解决方案;
一个不太相关的问题:Client side and server side events not firing simultaneously
答案 0 :(得分:0)
很容易做到。
您不关心延迟,也不需要在客户端使用相同的机器时间。 这里的关键是创建一个精确的约会。
由于客户端与服务器进行通信,而不是反之亦然(尽管您没有对此进行任何说明)。我可以给你以下解决方案:
当客户端连接到服务器时,它应该发送当地时间。
当服务器认为是时候设置事件。它应该向每个客户发送约会活动,其中包含本地时间。服务器可以计算出来。
然后,每个客户都知道什么时候完全他们需要通过设置计时器来做某事,直到他们的约会时间到来。
答案 1 :(得分:0)
理论上是的,你可以但不能在现实生活中。 至少你应该添加一些有效时间段。所有操作都应该在预定义的时间段中,以便操作有效。
所以基本上“同一时刻” = “预定义的时段”。 预定义的时间段可以 接近同一时刻或实时的 。