分享下这类问题的可能原因以及排查思路: 客户端刷新页面前后的$client_id是完全不同的,相当于是不同的两个socket连接,当然刷新之后则前一个socket连接生命周期已然销毁; 如果进行了uid和client_id 绑定的话,这个关系可以是一对多的,而显示客户端在线的肯定是当前已经连接OK的或者说是刷新后建立成功的socket连接,而有时收不到服务端推送消息的连接很有可能就是服务端将消息推送到了已经下线的$client_id那里去了。所以只需调试记录下所发送的$client_id以及对应的在线状态,相信问题定能迎刃而解。
我的pid丢失了,如何重新生成一个pid呢
ps找到主进程pid,然后在workerman框架的同级目录下将其重写主进程文件pidFile并赋予必要的权限,至于pidFile的命名规范看手册:http://doc.workerman.net/worker/pid-file.html
谢谢您,
分享下这类问题的可能原因以及排查思路:
客户端刷新页面前后的$client_id是完全不同的,相当于是不同的两个socket连接,当然刷新之后则前一个socket连接生命周期已然销毁; 如果进行了uid和client_id 绑定的话,这个关系可以是一对多的,而显示客户端在线的肯定是当前已经连接OK的或者说是刷新后建立成功的socket连接,而有时收不到服务端推送消息的连接很有可能就是服务端将消息推送到了已经下线的$client_id那里去了。所以只需调试记录下所发送的$client_id以及对应的在线状态,相信问题定能迎刃而解。
我的pid丢失了,如何重新生成一个pid呢
ps找到主进程pid,然后在workerman框架的同级目录下将其重写主进程文件pidFile并赋予必要的权限,至于pidFile的命名规范看手册:http://doc.workerman.net/worker/pid-file.html
谢谢您,
我的pid丢失了,如何重新生成一个pid呢