如何使用comet实现web实时推送?

我想实现的功能是当用户访问comet.php?x=12345时,index.html接收到comet.php?x=12345的内容并显示出来,如果另一个用户访问comet.php?x=678910,index.html则显示comet.php?x=678910的内容,该如何实现?麻烦给个例子

阅读 4.4k
4 个回答

comet只是一类“服务器推送”的总称。
现在关于comet有几种技术方案:
1、轮询:不断的发出请求 -> 服务器不断的响应(不管有没有数据)
2、长轮询:发出请求 -> 服务器如果没数据则阻塞(直到超时)-> 有了数据就返回
3、HTML5对于轮询和长轮询的一个实现:EventSource
4、websocket 全双工客户端服务器互推(需要PHP自己做守护进程处理socket连接而不能使用php-fpm之类的)

如果以上内容都没看懂的话,请去学习一下基础知识。

麻烦描述清楚功能

swoole的WebSocket可以实现,进入comet页面,发送消息给WebSocket服务端,服务端将消息推送给index

轮询比LONG-POLL实惠多了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题