数据信息放在一个文件中,用php做实时网页,如果文件发生变动,就立马更新当前所在的网页,想知道用什么办法来实现比较好?之前的思路是js做轮询,每秒一次请求,如果一旦发现文件变化了,就重新加载,觉得这个不好
解决方案 »
- 困扰了我一天的小甜饼,求大神
- 哪位大哥给我讲一讲PHP SOCKET编程啊
- 要传输密码到另一个服务器,跨外网的,如何做才安全
- PHP如何将一段文章里的前3个特定的字符,替换成数组里的随机字符?
- 求一句正则表达式
- 请问大家谁有PHP反编译的软件dezender啊?
- text字段问题,急,请赐教
- 关于 php 4.2.1 版关闭 register_globals 后的 url 参数问题,100 求教,在线等待!
- 做过PHP扩展模块的高手来看看!!!!!!!!!!
- 单独验证apache/php/mysql都没问题,进入phpmyadmin就出现缺少mysql扩展?
- trim()无法去除的空格,chr(161)。用户提交文章总是出现。
- php 如何获取JS的值 ,新手折腾几天了 还请大侠赐教!
2 服务器能即时将数据发送到客户端(浏览器)。首先,文件更新即时通知,这个你想的肯定是循环去扫描文件的最后更新时间,从这一步上你想的办法就无法做到实时。想做到实时,就要利用系统的时间驱动。比如linux 2.6内核的inotify。用c写个程序,跑个进程。当接收到这个通知后就去修改php的源代码。服务器推,其实就是在客户端与服务器的一次http交互中,服务器循环的给客户端response数据。这个网上说的大多比较笼统,我总结一下,其实也没那么复杂。1 需要修改web服务器的buffer。
2 关闭web服务器会主动控制buffer的模块,如gzip。
3 需要突破浏览器的buffer size,如让程序每次在response数据时填充一些空格另数据达到浏览器的buffer size。如ie是1024字节。在apache上很好实现,在nginx上有时比较奇怪,据我一些朋友反映他们无法成功,但我在本机nginx+chrome成功了。
接下来你要考虑的就是,如何将这两点结合在一起。