看文檔說(shuō)worker是多進(jìn)程的,因此不同進(jìn)程中的connection_id可能會(huì)重復(fù),從自定義存儲(chǔ)中獲取到要發(fā)送給的客戶(hù)端的connectino_id可能和當(dāng)前進(jìn)程不是同一個(gè)進(jìn)程,看的是worker-connection 還沒(méi)看 worker-gateway-connection
有好幾種可選的方案:
1、使用最簡(jiǎn)單的單進(jìn)程模型;
2、使用自定義的多進(jìn)程模型,這個(gè)時(shí)候就是跨進(jìn)程通信了,必須借助redis、GlobalData等第三方通信組件來(lái)完成進(jìn)程間通信,或者干脆使用官方現(xiàn)成的基于發(fā)布訂閱模型的channel組件:http://doc.workerman.net/components/channel.html
3、直接使用官方成熟穩(wěn)定的GatewayWorker框架,專(zhuān)業(yè)對(duì)付分布式多進(jìn)程模型下基于長(zhǎng)連接通信的各種業(yè)務(wù)場(chǎng)景需求。