GatewayWorker的版本為?3.0.12 ,我使用了setSession設(shè)置了Session,然后我?在onMessage,Gateway::getSession獲取的session為空,沒有我剛設(shè)置的SESSION,
workerman的版本為3.5.18,我在本地部署并沒有發(fā)生這個(gè)問題,當(dāng)我部署到服務(wù)器上的時(shí)候發(fā)生了這個(gè)問題,Gatewayworker和我的項(xiàng)目是不在一個(gè)服務(wù)器上面的,
具體流程:
1.手機(jī)APP連接上服務(wù)器的Gatewayworker,然后返回clientid給手機(jī)APP
2.手機(jī)APP提交clientid和用戶的ID上來后使用bindUid綁定然后setsession傳入clientid和需要set的session,
3,手機(jī)APP發(fā)送消息Gatewayworker,然后在onMessage中使用Gateway::getSession
?
可能是業(yè)務(wù)邏輯問題,需要自己記錄日志定位。
設(shè)置 session的時(shí)候記錄日志,包括client_id,session內(nèi)容。
獲取session的時(shí)候記錄日志,包括client_id,season內(nèi)容
本地測試的時(shí)候是完全沒問題的,同樣的代碼在服務(wù)器端上就出現(xiàn)了這個(gè)問題,setsession的時(shí)候client_id和session的內(nèi)容都是有的,獲取的時(shí)候只獲取到了一個(gè)空數(shù)組
現(xiàn)在問題發(fā)現(xiàn)了,是lanIp配置的問題- -,我看到client_id貌似是用local_ip和端口號生成的,但是如果我把local_ip設(shè)置為服務(wù)器的IP地址會顯示Cannot assign requested address這個(gè)錯(cuò)誤,如果我把client_id生成的IP替換成服務(wù)端的,然后在服務(wù)端口把local_ip換成0.0.0.0整個(gè)程序正常,用的是騰訊云