dd 每次打印都返回的时true
你的client_id是写死的,不一定每次都在线。 用Gateway::sendToAll发试下
我是一边用工具去连接websocket,然后获取生成的客户端ID的,所以应该不会出现不在线的情况吧;当我用sendToAll的时候也会出现不是客户端不是每次都能收到群发的消息,而且还会报错,所以向请教一下是不是GatewayClient它不稳定吗?因为我试过在发送之前尝试检查当前客户端在不线,然后再发送,但是返回值绝大多数都是不在线的状态,但是确实这个客户端是在线的
那可能真的不在线,客户端断开了
@1393:但是我用getAllClientIdList获取当前在线的客户端发现是在线的,但是客户端那边还是收不到信息
tcpdump -Ans 4000 -iany port 8877,抓包看下数据发过去没,如果发过去了,就是客户端的问题了。
这个试过了,打印过返回值都是发送成功,抓包也是只有客户端收到 了消息就能抓到的,所以当下是不清楚是什么问题,导致就算客户端在线也收不到GatewayClient主动发送的消息
我也正想了解这个问题,因为最近老是遇到奇怪的前台消息丢失的情况,就做了个测试,也刚好翻到这个帖子,这是我的测试结果,希望官方研究过代码的同学帮个忙分析下 测试过程
Can't assign requested address,这个感觉是本地端口用光了。按照workerman手册优化下linux内核试下吧 http://doc.workerman.net/appendices/kernel-optimization.html
@1393:谢谢提醒,有可能这个原因
你的client_id是写死的,不一定每次都在线。
用Gateway::sendToAll发试下
我是一边用工具去连接websocket,然后获取生成的客户端ID的,所以应该不会出现不在线的情况吧;当我用sendToAll的时候也会出现不是客户端不是每次都能收到群发的消息,而且还会报错,所以向请教一下是不是GatewayClient它不稳定吗?因为我试过在发送之前尝试检查当前客户端在不线,然后再发送,但是返回值绝大多数都是不在线的状态,但是确实这个客户端是在线的
那可能真的不在线,客户端断开了
@1393:但是我用getAllClientIdList获取当前在线的客户端发现是在线的,但是客户端那边还是收不到信息
tcpdump -Ans 4000 -iany port 8877,抓包看下数据发过去没,如果发过去了,就是客户端的问题了。
这个试过了,打印过返回值都是发送成功,抓包也是只有客户端收到 了消息就能抓到的,所以当下是不清楚是什么问题,导致就算客户端在线也收不到GatewayClient主动发送的消息
我也正想了解这个问题,因为最近老是遇到奇怪的前台消息丢失的情况,就做了个测试,也刚好翻到这个帖子,这是我的测试结果,希望官方研究过代码的同学帮个忙分析下
测试过程
Can't assign requested address,这个感觉是本地端口用光了。按照workerman手册优化下linux内核试下吧
http://doc.workerman.net/appendices/kernel-optimization.html
@1393:谢谢提醒,有可能这个原因