comet_server.php
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的问题,性能很高。