TP3.2使用phpsocket.io或者GatewayWorker進(jìn)行websocket數(shù)據(jù)推送但是遇到一個(gè)架構(gòu)問題?
1、如何判斷當(dāng)前用戶是否在線?
2、對(duì)于在線用戶如何進(jìn)行推送并保存數(shù)據(jù)庫?
3、對(duì)于不在線用戶如何直接保存數(shù)據(jù)庫?
4、對(duì)于上線用戶如何讀取未讀的推送數(shù)據(jù)?
5、只能使用corntab定時(shí)取讀取推送數(shù)據(jù)表嗎,這樣每秒鐘讀取一次會(huì)不會(huì)遇到頻繁讀寫操作而導(dǎo)致鎖表等問題?
一般這類架構(gòu)具體如何設(shè)計(jì) 謝謝
1、phpsocket.io可以參考()的做法,推送的時(shí)候返回是否在線。GatewayWorker是有接口的,Gateway::isOnline 或者 Gateway::isUidOnline都可以用
2、3、4、需要自己根據(jù)業(yè)務(wù)決定,可以參考 http://doc3.workerman.net/worker-development/send.html
5、phpsocket.io或者GatewayWorker都是基于workerman開發(fā),都支持http://doc3.workerman.net/worker-development/add.html的,如果需要定時(shí)任務(wù)可以用http://doc3.workerman.net/worker-development/add.html。當(dāng)然如果crontab能解決可以