基于swoole的聊天室開發(fā)(三)

上節(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)行下載,測試。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 上一節(jié)講解到,關(guān)于redis的單例模式,接下來開始講解websocket的具體代碼了。 首先需要引入一些swool...
    youngxs閱讀 751評論 0 0
  • 點(diǎn)擊查看原文 Web SDK 開發(fā)手冊 SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個(gè)完善的 IM 系統(tǒng)...
    layjoy閱讀 14,311評論 0 15
  • “ 消息隊(duì)列已經(jīng)逐漸成為企業(yè)IT系統(tǒng)內(nèi)部通信的核心手段。它具有低耦合、可靠投遞、廣播、流量控制、最終一致性等一系列...
    落羽成霜丶閱讀 4,291評論 1 41
  • 消息隊(duì)列已經(jīng)逐漸成為企業(yè)IT系統(tǒng)內(nèi)部通信的核心手段。它具有低耦合、可靠投遞、廣播、流量控制、最終一致性等一系列功能...
    Sophie12138閱讀 788評論 0 7
  • 距離2017年結(jié)束還剩不到幾天的時(shí)間 春夏秋冬 四季更替 這一年 終于要結(jié)束了 心里五味雜陳總想寫點(diǎn)什么 因?yàn)檫@...
    小沐汐啊閱讀 267評論 2 5

友情鏈接更多精彩內(nèi)容