0

我已经构建了一个小型 PHP 服务器/客户端代码。当我说客户端服务器时,我的意思是它作为客户端和服务器在每种模式下交替运行 5 秒。

现在代码在两台服务器上运行并由 cron 触发。

在极少数情况下,他们设法彼此完美同步,他们要么在最后一微秒建立连接,但到那时 PHP 代码已经传递到客户端模式,或者他们永远无法建立连接。

在这整个舞蹈开始之前,他们会运行一些数据库查询来选择一些信息,这些信息可能很大,也可能很小,而且在它们上永远不会相同,因此在时间上添加一些随机性只会使这种事件发生得更少,但不会完全消失。

有没有人成功地做到过这样的事情?如何?

4

1 回答 1

1

你在这里设计了一个竞态条件。无论您如何尝试同步这些,最终都会遇到麻烦。

解决这个问题的方法是让每个进程一直充当服务器,并按需执行客户端功能。

于 2012-12-12T16:04:21.933 回答