即时网络通知

时间:2015-04-04 13:50:18

标签: php mysql real-time mqtt

直接问我,我有一个有赌场桌子的数据库;每个表都有一些地方,我可以添加人员并删除它们。

所有这一切都运行正常,但是当我在两个不同的浏览器上打开我的项目时,我无法看到我从另一个浏览器中完成的更新。

所以我每隔5秒就想到AJAX请求或类似的东西,但我不喜欢这种方法。

然后我开始寻找另一个解决方案并找到了这个MQTT服务器,但找不到一个很好的例子它如何与MySQL一起工作。我看到了Mosquito-PHP库,也许我可以在我的服务器上运行它,但我很困惑如何获得状态。如果有人将某个人添加到表格中。我如何检查,有变化?

我认为MQTT使用的东西是无限循环,最好在MySQL中检查这个循环中的变化吗?

提前感谢您的任何建议;对不起我的英语,还在学习。

1 个答案:

答案 0 :(得分:0)

我认为你需要将复杂的任务分成更简单的部分,这可能是一个指导原则:

  • 对于每个浏览器会话,您应该有最后更新日期
  • 只要浏览器提取相关数据,就应该更新会话的更新日期
  • 您应该在服务器上有最后一个事件日期
  • 您应该每隔五秒钟向服务器发送一次ajax请求,称为心跳事件
  • 每次心跳时,服务器应检查您的上次更新是否早于最后一次事件并以此静脉发送响应
  • 如果您的ajax请求产生的结果是您的状态至少与上次更新一样新,则客户端应发送另一个新信息请求