大佬們好,我有2臺服務(wù)器,一臺在中國機(jī)房,一臺在德國機(jī)房,分別部署了websocket服務(wù),德國的用戶鏈接德國機(jī)房的websocket,中國的用戶鏈接了中國機(jī)房的websocket,請問這兩個(gè)用戶要通過什么才能即時(shí)通訊聊天呢??
我的框架是thinkphp8+workerman3.5,然后用的是workerman里面的組件gateway
如果你用的是GatewayWorker的話,注冊相同的Register服務(wù)即可,GatewayWorker會(huì)自動(dòng)轉(zhuǎn)發(fā)到對方用戶所在的節(jié)點(diǎn)。
如果是自己寫的話,就看你怎么設(shè)計(jì),比如有一個(gè)狀態(tài)服務(wù)器,中國用戶小明登錄服務(wù)器A,在狀態(tài)服務(wù)器注冊自己的狀態(tài),德國用戶小強(qiáng)登錄服務(wù)器B,給A發(fā)送消息時(shí),查詢小明不在服務(wù)器B上,詢問狀態(tài)服務(wù)器小明在哪兒,狀態(tài)服務(wù)器告知在服務(wù)器A,于是消息發(fā)送變成流程 小強(qiáng)-》服務(wù)器B-》服務(wù)器A