搭建 webSocket(线上 宝塔)
<?php
//创建WebSocket Server对象,监听0.0.0.0:9502端口
$ws = new Swoole\WebSocket\Server('0.0.0.0', 9502);
$redis=new Redis();
$redis->connect('127.0.0.1','6379');
//监听WebSocket连接打开事件
$ws->on('Open', function ($ws, $request) {
$ws->push($request->fd, "hello, welcome\n");
});
//监听WebSocket消息事件
$ws->on('Message', function ($ws, $frame) use ($redis) {
$data=json_decode($frame->data,true);
// print_r($data);
switch ($data['type']) {
case 'open':
$redis->set($data['my'],$frame->fd);
break;
case 'send':
$to=$redis->get($data['to']);
$msg=['msg'=>$data['data']];
$ws->push($to,json_encode($msg,true));
break;
default:
// code...
break;
}