server push需要浏览器支持,但到目前为止ie并不支持该技术

解决方案 »

  1.   

    关注~~我也遇到这个问题了~php怎么才能保持连接~不断执行过程中将页面不断送给客户端呢??
      

  2.   

    在需要输出的时候调用 flush();
    基本上就是每个echo print函数的后边;
    尝试了一下~~好用  php4.3 + apache2 做个死循环~~一直好用 :D感谢ice_berg16(寻梦的稻草人) 提供线索
      

  3.   

    给个具体的例子,我试了flush,好像效果没出来。
      

  4.   

    <?
    while ( true ) 
    {
    echo "test<br>";
    flush();
    sleep(1);
    }
    ?>这个在我这里好用~~如果不好用~就试着在flush()后边在加一个ob_flush()
    具体2个有什么区别~我不太清楚~我英文也不好-_- php.net看得头大我这里奇怪的~有时候单独写个flush()就不好用,但是如果写上2个~就好了~~然后删掉ob_flush() -_- 也好用 奇怪的说~最近忙~没太多时间研究这个,建议还是去
    http://www.php.net/manual/zh/function.flush.php
    仔细看看有结果的话~~也教我一下哦 ^o^
      

  5.   

    你的例子运行后出现这个提示“Fatal error: Maximum execution time of 30 seconds exceeded in F:\Tianxia\eshop\ad\aa.php on line 7”,就不想了。什么原因呢?有没有更具体一点的例子?谢谢。
      

  6.   

    http://cosoft.org.cn/html/forum/viewtopic.php?t=3636
      

  7.   

    我这里环境 FreeBSD5.2 + Apache2 + php4.3.4
    浏览器用myie2 ie6sp1 都试过~正常
    测试文件中flush() ob_flush()都写了,页面刚开始有时候不能马上显示(可能需要几秒缓冲??)~但是过了一会儿就正常了,每隔1秒多一个test出来.没法再具体了~~ -_- 我的文件就是上边那个~~加了dw自动生成的head之后~也好用,我对head研究不深,不太会在这里控制.现在的文件如下
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>server push</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body>
    <?
    while ( true ) 
    {
    echo "test<br>";
    flush();
    ob_flush();
    sleep(1);
    }
    ?>
    </body>
    </html>ie应该是支持server push的 ~~其实server push也很简单~~不过是个一直保持连接的http而已,对客户端来说~就是个没有结尾的页面,我见过用server push写的聊天室~很帅的,不过人家用cgi -_- server push只能维持一个推过程,聊天室处理上响应客户输入是问题.unix下润许进程间通信,win系统下我一直没找到好的解决办法-__- php想实现恐怕困难些 用文本文件或者数据库中转太慢了 -_-