目录

comet_server.php

优质
小牛编辑
131浏览
2023-12-01

Comet是使用Http协议维持长连接,达到服务器推送的目的。Swoole框架提供了一套兼容WebSocket和Http 2种协议的CometServer。

WebSocket

如果客户端浏览器支持WebSocket,自动使用WebSocket作为通信协议。

Comet

如果客户端浏览器是IE系列,不支持WebSocket,则使用Comet方案。Comet会创建2个http请求。

  • /pull 此请求发出后,会等待服务器推送数据,如果在50s内未有推送信息,服务器会返回Timeout。然后客户端再次发起一次/pull/请求。
  • /push 此请求用于想服务器发送数据

pull 请求由于是启用了Http KeepAlive,实际上Socket是长连接的,不存在多次connect/close的问题,性能很高。