天天看點

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

一、swool應用場景

  1. 與硬體裝置連接配接通訊(定位裝置)
  2. IM系統(用于直播頁面的聊天通訊)

二、部署圖

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

三、程式流程

1、使用者業務ID綁定swool動态fd

因為fd為動态的,是每次連結swool時生成的,發消息的時候需要用到,是以每次建立連結時需要跟業務ID進行綁定

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

2、發送/接受消息

設A使用者給B使用者發消息,用B使用者業務ID去資料庫或者redis反查fd,并使用fd進行發送消息(我這裡發送的是json,這樣就可以發送文字、圖檔、檔案多種類型),當swool監聽發消息時間,則戶主動推送給B使用者,B使用者擷取到消息并解析資訊類型

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

3、檢測是否有未讀消息

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

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

三、随便絮叨

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