GatewayWorker的版本为 3.0.12 ,我使用了setSession设置了Session,然后我 在onMessage,Gateway::getSession获取的session为空,没有我刚设置的SESSION,
workerman的版本为3.5.18,我在本地部署并没有发生这个问题,当我部署到服务器上的时候发生了这个问题,Gatewayworker和我的项目是不在一个服务器上面的,
具体流程: 1.手机APP连接上服务器的Gatewayworker,然后返回clientid给手机APP 2.手机APP提交clientid和用户的ID上来后使用bindUid绑定然后setsession传入clientid和需要set的session, 3,手机APP发送消息Gatewayworker,然后在onMessage中使用Gateway::getSession
可能是业务逻辑问题,需要自己记录日志定位。 设置 session的时候记录日志,包括client_id,session内容。 获取session的时候记录日志,包括client_id,season内容
本地测试的时候是完全没问题的,同样的代码在服务器端上就出现了这个问题,setsession的时候client_id和session的内容都是有的,获取的时候只获取到了一个空数组
既然本地是好的,服务器上不行,那就检查下哪里有差异,然后把差异去掉定位下吧。 从你提供的信息里定位不到问题的
还有检查环境, php环境等等
现在问题发现了,是lanIp配置的问题- -,我看到client_id貌似是用local_ip和端口号生成的,但是如果我把local_ip设置为服务器的IP地址会显示Cannot assign requested address这个错误,如果我把client_id生成的IP替换成服务端的,然后在服务端口把local_ip换成0.0.0.0整个程序正常,用的是腾讯云
workerman的版本为3.5.18,我在本地部署并没有发生这个问题,当我部署到服务器上的时候发生了这个问题,Gatewayworker和我的项目是不在一个服务器上面的,
具体流程:
1.手机APP连接上服务器的Gatewayworker,然后返回clientid给手机APP
2.手机APP提交clientid和用户的ID上来后使用bindUid绑定然后setsession传入clientid和需要set的session,
3,手机APP发送消息Gatewayworker,然后在onMessage中使用Gateway::getSession
可能是业务逻辑问题,需要自己记录日志定位。
设置 session的时候记录日志,包括client_id,session内容。
获取session的时候记录日志,包括client_id,season内容
本地测试的时候是完全没问题的,同样的代码在服务器端上就出现了这个问题,setsession的时候client_id和session的内容都是有的,获取的时候只获取到了一个空数组
既然本地是好的,服务器上不行,那就检查下哪里有差异,然后把差异去掉定位下吧。
从你提供的信息里定位不到问题的
还有检查环境, php环境等等
现在问题发现了,是lanIp配置的问题- -,我看到client_id貌似是用local_ip和端口号生成的,但是如果我把local_ip设置为服务器的IP地址会显示Cannot assign requested address这个错误,如果我把client_id生成的IP替换成服务端的,然后在服务端口把local_ip换成0.0.0.0整个程序正常,用的是腾讯云