上節(jié)上了,用戶消息的推送,中的task,任務(wù)投遞,接著繼續(xù)往下說,

onMessage中說到type==1為,將用戶和$fd綁定,以及上線通知的推送,接著說,type類型不為1的情況,那就是用戶發(fā)送消息,這邊的流程就是:用戶發(fā)送消息,接著,服務(wù)器收到消息以后,將消息發(fā)送給每個(gè)用戶,然后將用戶發(fā)送的消息保存下來。其中上面的代碼也比較簡單,就不具體介紹了。
下面說一下open事件。該事件就是用戶剛連接時(shí)候,服務(wù)器收到的信息。

這邊需要做的就是,獲取聊天室內(nèi)最新的11條數(shù)據(jù),然后給推送給登錄得用戶,這樣就不會(huì)出現(xiàn)因?yàn)橥蝗坏南戮€或者退出帳號(hào),下次登錄無法獲取聊天記錄。

onFinish方法就是,任務(wù)投遞完成后,tash方法會(huì)將結(jié)果返回給onFinish。
onClose方法,就是用戶在斷開連接后的處理,這邊需要做的就是,將用戶信息和$fd進(jìn)行解綁,然后給其他用戶推送,該用戶下線。同時(shí),在redis集合中將$fd給刪除。防止下次消息推送,因?yàn)檎也坏皆撚脩舳鴪?bào)錯(cuò)。
一個(gè)聊天室PHP的內(nèi)容就那么多。
前端的內(nèi)容就不放了,我會(huì)將項(xiàng)目扔到git中,可以進(jìn)行下載,測試。