很久以前是学过,今天公司要求一个功能,两个页面实时更新其他人的投票数据。计时器加ajax可以实现但是太LOW且性能实在是低,于是我们用了webscoket;
WebSocket是SWOOL中的其中一个服务,想用得先安装swool.
这只是一个大体的步骤demo,具体代码不方便贴,所以不要抄,要了解原理。
1.下载
pecl install swoole
2.开启websocket
<?php $server = new swoole_websocket_server("127.0.0.1", 9502); $server->on('open', function($server, $req) { echo "connection open: {$req->fd}\n"; }); $server->on('message', function($server, $frame) { echo "received message: {$frame->data}\n"; $server->push($frame->fd, json_encode(["hello", "world"])); }); $server->on('close', function($server, $fd) { echo "connection close: {$fd}\n"; }); $server->start();
3.前端接收处理返回
var init = {
initWebsocket:function () {
//判断当前浏览器是否支持WebSocket