- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
有什么方法可以将数据推送到页面而不是定期检查它?
显然,您可以使用 ajax 定期检查它,但是有什么方法可以在执行 php 脚本时强制重新加载页面?
理论上,您可以通过为 ajax 函数应该执行的时间创建一个表来提高 ajax 请求的速度(当 ajax 函数应该从数据库中检索新数据时更新表中的值)但这仍然需要相当大的内存量和 mysql 连接,以及在执行查询时仍然有一些等待时间,即使没有更新/您不想执行检索数据库数据的 ajax 函数。
有什么方法可以使这比查询数据库和检查存储“如果更新”数据的表或告诉 ajax 函数从另一个页面执行更有效?
我想 node.js 或 HTML5 webSocket 也可能是可行的解决方案?
或者您可以将“如果更新”数据存储在文本文件中?欢迎提出任何建议。
最佳答案
您基本上是在谈论通知客户端(即浏览器)服务器端事件。这实际上归结为两件事:
您最好的选择是使用 WebSockets 来完成这项工作,任何超出使用网络套接字的方法都是 hack。尽管如此,许多“黑客”工作得很好,我建议你试试 Comet 或 AJAX 长轮询。
有一个名为 Atmosphere 的项目(以及更多)为您提供适合您正在使用的 Web 服务器的解决方案,然后将根据用户的浏览器自动选择最佳选项。
如果您不受浏览器的限制并且可以选择您的网络堆栈,那么我建议使用 SocketIO + nodejs .这只是我现在的偏好,WebSockets 仍处于起步阶段,一旦它开始发展更多,事情就会变得有趣。有时我的整个应用程序都不适合 nodejs,所以我会单独将数据操作卸载给它。
祝你好运。
关于php - 将数据推送到页面而不定期检查它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11399857/
我是一名优秀的程序员,十分优秀!