前端发送心跳:
服务器端截图:
重启服务端的时候前一阵正常回复,然后前端1s-2s发送一次心跳,过一阵就会出现服务端接收不到数据的情况,前端还是正常发送数据。这是啥问题?
看样子像是你代码问题. 把onMessage 的 handlerMessage 屏蔽掉,不,应该是把onMessage 里面代码都屏蔽掉 直接打印调试, echo $data; $connection->send('已接收到消息'); return;
试了一下,好像只要没有涉及到数据库操作就没问题。但是一旦有数据库操作就会出问题
是不是数据库连接导致服务器端在某个位置卡住了?
这个只能你自己去调试了,你问我我也没法回答你. 按我个人理解,onMessage里面,除了 $this->handlerMessage(); 其它都是没必要的,或者说叫无效代码.
问题找到了,不知道为啥突然连接到另外一个不存在的数据库,但是我逻辑代码中没有连接这个数据库的操作。设置啥问题?
handlerMessage里有直接请求数据库操作? 会不会把数据库整挂了
主要是没搞明白为啥无端的连接了data这个数据库,我逻辑中没有这个操作,模型也没有。只是配置中存在这个配置
连着连着自动就连上这个data的数据库了
似乎使配置中存在的配置都会自动连接,我把data配置屏蔽了好像就没问题了
最终问题: 文件:vendor/workerman/webman-framework/src/support/bootstrap/LaravelDb.php start方法里加了个定时器,针对mysql驱动的数据库定时去执行这个,这是为啥?
加入这个LaravelDb的位置 文件:config/bootstrap.php
这个是为了保持mysql连接做的吗?
心跳,维持数据库连接
看样子像是你代码问题.
把onMessage 的 handlerMessage 屏蔽掉,不,应该是把onMessage 里面代码都屏蔽掉
直接打印调试,
echo $data;
$connection->send('已接收到消息');
return;
试了一下,好像只要没有涉及到数据库操作就没问题。但是一旦有数据库操作就会出问题
是不是数据库连接导致服务器端在某个位置卡住了?
这个只能你自己去调试了,你问我我也没法回答你. 按我个人理解,onMessage里面,除了 $this->handlerMessage(); 其它都是没必要的,或者说叫无效代码.
问题找到了,不知道为啥突然连接到另外一个不存在的数据库,但是我逻辑代码中没有连接这个数据库的操作。设置啥问题?
handlerMessage里有直接请求数据库操作? 会不会把数据库整挂了
主要是没搞明白为啥无端的连接了data这个数据库,我逻辑中没有这个操作,模型也没有。只是配置中存在这个配置
连着连着自动就连上这个data的数据库了
似乎使配置中存在的配置都会自动连接,我把data配置屏蔽了好像就没问题了
最终问题:
文件:vendor/workerman/webman-framework/src/support/bootstrap/LaravelDb.php
start方法里加了个定时器,针对mysql驱动的数据库定时去执行这个,这是为啥?
加入这个LaravelDb的位置
文件:config/bootstrap.php
这个是为了保持mysql连接做的吗?
心跳,维持数据库连接