From f8e6e8175bec8a6bff0fb8eb0f3fac7cddbb1e78 Mon Sep 17 00:00:00 2001
From: zhoudw <zhoudw@infobird.com>
Date: Tue, 21 Dec 2021 16:59:16 +0800
Subject: [PATCH] 初始化
---
ws_server.php | 63 ++++++++++++++++---------------
1 files changed, 33 insertions(+), 30 deletions(-)
diff --git a/ws_server.php b/ws_server.php
index e0171c2..df1d464 100644
--- a/ws_server.php
+++ b/ws_server.php
@@ -21,28 +21,46 @@
$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
- // ]);
- if (!$this->redis) {
- $this->redis = new Redis();
- $this->redis->connect($this->redis_config['host'],$this->redis_config['port'] );
- $host = $this->server_config['allow_ip'];
- $keyList = $this->redis->keys("*{$host}*");
- foreach ($keyList as $key => $value) {
- $this->redis->del($value);
+ $this->server->set([
+ 'task_worker_num' => 8,
+ 'enable_coroutine' => true,
+ 'task_enable_coroutine' => true
+ ]);
+ $this->server->on('WorkerStart', function (Swoole\WebSocket\Server $server) {
+ if (!$this->redis) {
+ $this->redis = new Redis();
+ $this->redis->connect($this->redis_config['host'],$this->redis_config['port'] );
+ $host = $this->server_config['allow_ip'];
+ $keyList = $this->redis->keys("*{$host}*");
+ foreach ($keyList as $key => $value) {
+ $this->redis->del($value);
+ }
+ $this->redis->del("{$host}*");
+ $this->redis->close();
}
- $this->redis->close();
- }
+ });
$this->server->on('start', function (Swoole\WebSocket\Server $server) {
echo "Websocket Server is started at ws://".$this->server_config['host'].":".$this->server_config['port']."\n";
});
$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;
@@ -54,21 +72,6 @@
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'] );
--
Gitblit v1.8.0