用的是gatewayworker框架 有多台内网机器 ,连接同一个注册机 当2个客户端登入同一台机器时 一个客户端 使用sendToUid 向另一个客户端发送消息 能够收到 但是 2个客户端登入不同的服务器时, 使用 sendToUid 发送给另一个客户端时 收不到消息 调用了Gateway::getClientIdByUid($uid) 确认 uid 是连接着的 麻烦问一下这是什么问题?
提供的信息有限,没办法定位。 首先记录日志确定业务逻辑是否正确,比如各个uid clientid是否正确。客户端处理返回时是否正确处理。 如果怀疑服务端并没有发送数据,你可以抓包看数据是否发送给了客户端。 另外最好能给出各个服务器的配置,以及服务端客户端测试代码,测试结果截图
找到问题了,谢谢!因为在$gateway->lanIp 没用真实的内网ip 而是用的0.0.0.0。 导致 2个注册后就被覆盖成了同一个ip端口
提供的信息有限,没办法定位。
首先记录日志确定业务逻辑是否正确,比如各个uid clientid是否正确。客户端处理返回时是否正确处理。
如果怀疑服务端并没有发送数据,你可以抓包看数据是否发送给了客户端。
另外最好能给出各个服务器的配置,以及服务端客户端测试代码,测试结果截图
找到问题了,谢谢!因为在$gateway->lanIp 没用真实的内网ip 而是用的0.0.0.0。 导致 2个注册后就被覆盖成了同一个ip端口