PHP套接字备用监听/连接

时间:2012-12-12 13:58:31

标签: php sockets

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

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

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

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

任何人都能成功地完成这样的事情吗?怎么样?

1 个答案:

答案 0 :(得分:1)

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

解决这个问题的方法是让每个流程始终充当servere,并按需提供客户端功能。