環(huán)境是用的gateway和client,當(dāng)客戶端下線后,雖然gateway知道了,但是網(wǎng)站不知道,客戶端也不知道,是不是應(yīng)該在gateway上OnClose發(fā)送一個(gè)http請(qǐng)求到網(wǎng)站,然后網(wǎng)站再用client去推送離線通知?有沒有更好的方法呢?
我發(fā)現(xiàn)用我所說的方法行不通,gateway提交下線通知只能通過clientid,但是通知到網(wǎng)站后端后,Gateway::getUidByClientId(CLIENTID); 方法已經(jīng)行不通了,因?yàn)橐呀?jīng)被剔除了。
肯定是我姿勢(shì)不對(duì),請(qǐng)大佬們指點(diǎn)
1、不要?jiǎng)覩ateway的onClose回調(diào),這等于是給自己挖沒必要的坑,Events::onClose()回調(diào)里調(diào)用手冊(cè)里對(duì)應(yīng)的API就可以了;
2、Events::onClose()回調(diào)里不能直接使用Gateway::getUidByClientId()接口,需要配合也就是一般客戶端連接上來后先Gateway::bindUid()一下,同時(shí)將uid存入session,最后需要的時(shí)候從session取出uid再操作Gateway::sendToUid()等API即可;