PHP之swool搭建即時通訊聊天(仿PC微信)

一、swool應用場景

  1. 與硬件設備連接通訊(定位設備)

  2. IM系統(用於直播頁面的聊天通訊)

二、部署圖

     

三、程序流程

1、用戶業務ID綁定swool動態fd

因爲fd爲動態的,是每次鏈接swool時生成的,發消息的時候需要用到,所以每次建立鏈接時需要跟業務ID進行綁定

2、發送/接受消息

設A用戶給B用戶發消息,用B用戶業務ID去數據庫或者redis反查fd,並使用fd進行發送消息(我這裏發送的是json,這樣就可以發送文字、圖片、文件多種類型),當swool監聽發消息時間,則戶主動推送給B用戶,B用戶獲取到消息並解析信息類型


3、檢測是否有未讀消息

當A向B發送消息,B可以收到消息的前提是B必須在鏈接這swool,但是實際情況下,用戶並不是一直都在鏈接(是允許用戶下線的),所以當鏈接斷開後再次產生鏈接就需要檢測未讀消息,並且發送給自己

三、隨便絮叨

 上圖都爲大體的流程圖,在開發中還需要考慮消息存儲時效、好友查詢添加、列表等等功能就不一一細說了,因爲之前對應聊天功能使用過workerman,但是swool是C開發的理論上效率會更高

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章