php 只能被动的 “实现服务器对客户端发送信息”

解决方案 »

  1.   

    看看js的 comnet ,长连接
      

  2.   

    又是万年的长连接问题...
    准确告诉你可以实现,但是你必须权衡:
    1.你得学习新技术,这个没什么好说的
    2.服务器性能会下降,比如原来一台服务器能支持1W用户,根据推送方式不同,可能只能支持3000-8000用户
    稍微介绍一下实现方案,具体拿着词去网上查
    短循环:不断请求服务器看有没有数据(请求数增加)
    长轮询:请求服务器,服务器遍历资源,直到有数据/或者超时就返回,客户端再请求服务器(服务器CPU消耗增加)
    长连接:就是用户一直连接着服务器的方式,性能比上面稍好些,但需要满足条件
    FLASH长连接:要安装flash
    html5的websocket:使用js实现,浏览器必须支持html5
    unity等插件式长连接:得安装相关组件
    其他的还有像frame长连接等的...
      

  3.   

    轮询或保持长连接,这个问题和PHP没关系,与HTTP协议的长连接实现有关。
    Html5的推送本质上也是轮询。
      

  4.   

    php 不适合做socket。
    如果只是用来做聊天室,可以用node.js,有个socket.io 组件很方便。
      

  5.   

    我刚好有个php聊天室,今天熬夜给你改了下,估计能满足你需求
    服务端使用PHP多进程+libevent+WebSocket长连接,性能非常好。
    代码地址:https://github.com/walkor/web-msg-sender测试地址:
    后台发消息的的页面:workerman.net:3333/
    用户接受消息的页面:workerman.net/web-msg-sender.html 可以多开几个