作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前有一个用 C++ 编写的 IRC 机器人,它监视用 php 编写的页面的更改,然后将这些更改输出到 IRC channel 。然而,当前的方法相当低效,因为它只是每 10 秒不断地轮询一次页面,并将其与上次看到的版本进行比较,以检查是否有任何更改。我可以在 IRC 机器人开始受到性能影响之前将页面检查间隔减少到大约 2-3 秒,但这并不理想。我正在监视的页面通常会在 10 秒内更改多次,因此可能会错过更改,从页面获取数据的更好方法是什么?考虑到我同时控制用 PHP 编写的页面和 IRC 机器人,但它们位于不同的服务器上。
此页面的唯一目的是将数据传递给 IRC 机器人,因此如果更好的解决方案,它可以完全重新实现为其他东西; IRC 机器人还监视此页面的多个版本以检查不同的内容。
最佳答案
如果 PHP 生成的数据没有以某种方式推送到流(广播或提要)上,不幸的是,您除了轮询页面别无选择。
您可以做的是使用广播推送来自 PHP 的数据,或者从 bot 到 PHP 脚本建立持久连接,或者让 PHP 自己计算差异。
关于php - 如何在不轮询的情况下监视页面的变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6141750/
我是一名优秀的程序员,十分优秀!