目前可以通过借助flash作为socket客户端hold住socket connet.
Html5推出了WebSocket,需要浏览器配套支持。

解决方案 »

  1.   

    现在是要求用php实现客户端与服务端通信,并在页面上刷新显示出来. flash暂时先不考虑,不知道能否实现
      

  2.   

    php本身是没问题,问题在于模型,c/s当然是没问题,你可以随意在网上找到php socket client + php socket server在cli下运行的例子.但是换成b/s,那就成问题了。
      

  3.   

    现在就是要做成BS模型的, CS模型的我已经在sh下测试没问题了
      

  4.   

    这里有两个问题:
    一是客户端到php的连接;(这个有长连接的说,打开一个页,这个页一直输出; 否则的话只有ajax再次请求-这个好象也可以持续连接keepalive);
    二是php到其他服务的连接; 这个可用socket的长连接吧;理论上也可以用通道! (但php是单时程的,多时会有问题)http是单向的,请求--响应,不是双向的!所以,不能相互监听!
      

  5.   

    to fxs_2008
    现在服务端程序是用C++写的服务, 我这边用的是php 写client然后处理服务端给我的消息,在页面上根据消息的变化,进行相应变化。对于我这边php 写的client用的是socket来做的, 不知道这个socket长连接怎样做呢?
      

  6.   

    我不懂php socket,下面说错了别见笑你的需求其实不仅仅是b/s,应该是b/s/s,php应该只是个中间件
    php-C++的长连接应该问题不大,问题是ajax到php的请求结束,php的运行也结束了(php-C++连接也就结束了)你应该重新考虑php到浏览器的连接方式,ajax无疑是client pull,
    php属于你完全控制,而且只有一个客户端(就是本地浏览器,不会太耗资源),这时你不妨考虑server push保持php到浏览器的连接
      

  7.   

    server push保持php到浏览器的连接.也找了很多这方面的资料,都是只言片语,没有看到可参考的。
    snmr_com有没有好的实例介绍一下。最好简单一些,便于理解整个流程,及思路另外用flash来进行socket交互,并且根据消息对页面进行更新,有这方面的资料介绍一下,谢谢了没接触过flash.
      

  8.   

    我也是“知道”而已,嘿嘿,不比你多很多
    server push说白了就是一个协议头,浏览器支持这个协议
    这个协议最初由网景作出(不知道是否mozilla提出的),反正网景、火狐支持,现在的ie能否支持不清楚(以前不行)google“php "server push"”很多的
    旧文章 http://bbs3.chinaunix.net/archiver/tid-35735.html
    这个貌似也是旧文新发 http://www.oeedu.com/contents/1176/9017.html这个也是说长连接,新点(说ie支持),但从头到尾我都没看到server push技术
    http://hi.baidu.com/zomew/blog/item/3cfd09eb43097235b90e2d66.html
      

  9.   

    浏览器帮我们做了
    与web http服务器tcp三次握手 -> http请求 -> 返回http
    而lz是想
    与socket server(默认tcp协议) -> 一直监听socket server+端口 -> 期间socket请求/socket返回 -> 关闭socket client.
    不一样的模型。
    html5的WebSocket可以做到。可惜SB ie还不支持。
      

  10.   

    基本都是基于http的,http是基于tcp,而lz现在是要基于tcp在浏览器进行监听,收发。
      

  11.   

    能不能不用socket,直接在前端每秒发送一次请求?对C++服务端不太清楚。不知道这里能否处理!comet好象也是能达到效果的!
      

  12.   


    BooJS
    兄弟说的对,我就是这个需求,可惜没找到好的解决方案
      

  13.   

    简单地说,只要这个php进程不关闭,你可以循环取数据并输出
      

  14.   

    客户端请求一个php,php不关闭,php只找开socket一次,然后每分种读取一次socket并输出
      

  15.   

    1#给出的答案很好了用flash的socket,与服务端通信,客户端结合js静态刷新页面就好了
      

  16.   

    有没有这方面的实例,flash确实也不懂
      

  17.   

    只能把php 做成一个服务,把php改为在cli方式去运行,做成长连接一样,绑定代理服务器,用scoket 侦听端口 方式。实现中间层C++跟php之间的通信就可以了。
    al 想实现的功能正是我现在想做的。这里有一个php scoket的解决方案,咱们一起研究。QQ:274739577
    http://www.laruence.com/2009/06/11/930.html
      

  18.   

    了解下swoole扩展吧。www.swoole.com
      

  19.   

    告诉你答案:chrome的比较新的版本有了websocket,其它浏览器不支持。只能借助flash。
      

  20.   

    long pollingnodejs + stock.iowebsocket不知道是不是你想要的