開源專案:採用 Laravel 編寫的一個聊天應用 Laravel-Chat

sh7ning發表於2018-10-08

寫在開頭:其實這裡只是為了介紹 Gopusher Comet 你可以很容易的使用 http api 來構建實時聊天(比如這裡的 laravel-chat),通知推送應用。
之所以不是一個具體的聊天開源產品,是因為具體的需求往往是多樣的,這個chat不是為了讓你去使用,而是一種思路,讓你能透過Gopusher Comet去只透過呼叫介面就能 很容易的 實現你自己聊天,網頁訊息推送等。

原始碼:https://github.com/Gopusher/laravel-chat
這是一個聊天應用,演示地址: https://chat.yadou.net, 支援單聊和群聊,目前demo中預設只加入群組1,具體的實現邏輯可以看原始碼實現。

所有的業務邏輯(邏輯層和路由層)採用Laravel實現,長連線採用Gopusher Comet(接入層)實現。除了Laravel外,還引入以下依賴:

安裝

  1. 首先需要安裝 Gopusher Comet 並進行配置

  2. 下載 Chat,並安裝

    git clone https://github.com/Gopusher/laravel-chat.git
    配置 .env
    composer install

其它

  • 其實以前採用了自己的一個框架實現了一個版本,但是覺得還是 Laravel 使用的人更多,也更容易方便大家參考,所以就採用了Laravel實現了一版,他們都依賴了Gopusher Comet來維護與客戶端建立的長連線,
  • Gopusher Comet 是一個 開源支援分散式部署通用 長連線接入層服務,接管客戶端連線,支援叢集,提供了 API 供開發者呼叫。
  • 除了能用於 聊天應用,你還能透過接入comet(接入過程比你想象中簡單)來用於如 網頁訊息推送遊戲 等其他長連線場景下的應用,開發文件見 https://github.com/Gopusher/comet/wiki ,Gopusher QQ交流群 : 818628641
  • 因為很多時候業務邏輯都很具體,每個產品的需求都會不同,所以這個原始碼沒有實現很漂亮的客戶端,只是為了展示怎麼實現Comet來實現一個分散式聊天,裡邊有分散式的comet路由保持相關的邏輯,不過因為開發時間倉促路由層和業務邏輯層沒有分太細。
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章