| | |
| | | $this->redis_config = $config['redis']; |
| | | |
| | | $this->server = new Swoole\WebSocket\Server($this->server_config['host'], $this->server_config['port']); // swoole连接 |
| | | // $this->server->set([ |
| | | // 'task_worker_num' => 8, |
| | | // 'enable_coroutine' => true, |
| | | // 'task_enable_coroutine' => true |
| | | // ]); |
| | | $this->server->set([ |
| | | 'task_worker_num' => 8, |
| | | 'enable_coroutine' => true, |
| | | 'task_enable_coroutine' => true |
| | | ]); |
| | | if (!$this->redis) { |
| | | $this->redis = new Redis(); |
| | | $this->redis->connect($this->redis_config['host'],$this->redis_config['port'] ); |
| | |
| | | foreach ($keyList as $key => $value) { |
| | | $this->redis->del($value); |
| | | } |
| | | $this->redis->del("{$host}*"); |
| | | $this->redis->close(); |
| | | } |
| | | $this->server->on('start', function (Swoole\WebSocket\Server $server) { |
| | |
| | | }); |
| | | |
| | | $this->server->on('message', function (Swoole\WebSocket\Server $server, $frame) { |
| | | // $server->task($frame); |
| | | $server->task($frame); |
| | | // $ret = array('code' => 0, 'data' => null); |
| | | // $msgData = $this->is_json($frame->data,true); |
| | | // if($msgData){ |
| | | // $frameData = $msgData; |
| | | // $this->dealMsg($frameData,$frame->fd); |
| | | // }else{ |
| | | // $ret['code'] = -1; |
| | | // $ret['msg'] = 'data is null or data no json'; |
| | | // $server->push($frame->fd, json_encode($ret)); |
| | | // return; |
| | | // } |
| | | }); |
| | | |
| | | $this->server->on('task', function ($server, $task) { |
| | | $ret = array('code' => 0, 'data' => null); |
| | | $frame = $task->data; |
| | | $msgData = $this->is_json($frame->data,true); |
| | | if($msgData){ |
| | | $frameData = $msgData; |
| | |
| | | return; |
| | | } |
| | | }); |
| | | |
| | | // $this->server->on('task', function ($server, $task) { |
| | | // $ret = array('code' => 0, 'data' => null); |
| | | // $frame = $task->data; |
| | | // $msgData = $this->is_json($frame->data,true); |
| | | // if($msgData){ |
| | | // $frameData = $msgData; |
| | | // $this->dealMsg($frameData,$frame->fd); |
| | | // }else{ |
| | | // $ret['code'] = -1; |
| | | // $ret['msg'] = 'data is null or data no json'; |
| | | // $server->push($frame->fd, json_encode($ret)); |
| | | // return; |
| | | // } |
| | | // }); |
| | | $this->server->on('close', function ($ser, $fd) { |
| | | $host = $this->server_config['allow_ip']; |
| | | $this->redis->connect($this->redis_config['host'],$this->redis_config['port'] ); |