多台内网机 sendToUid 问题

菜肉包

用的是gatewayworker框架
有多台内网机器 ,连接同一个注册机
当2个客户端登入同一台机器时  一个客户端 使用sendToUid 向另一个客户端发送消息 能够收到
但是 2个客户端登入不同的服务器时,  使用 sendToUid  发送给另一个客户端时 收不到消息
调用了Gateway::getClientIdByUid($uid) 确认 uid 是连接着的
麻烦问一下这是什么问题?

1625 2 0
2个回答

walkor

提供的信息有限,没办法定位。
首先记录日志确定业务逻辑是否正确,比如各个uid clientid是否正确。客户端处理返回时是否正确处理。
如果怀疑服务端并没有发送数据,你可以抓包看数据是否发送给了客户端。
 
另外最好能给出各个服务器的配置,以及服务端客户端测试代码,测试结果截图
 

  • 暂无评论
菜肉包

找到问题了,谢谢!因为在$gateway->lanIp 没用真实的内网ip 而是用的0.0.0.0。 导致 2个注册后就被覆盖成了同一个ip端口

  • 暂无评论
年代过于久远,无法发表回答
🔝