Laravel-Chat基于 Laravel 的聊天應(yīng)用
Laravel Chat
這是一個聊天應(yīng)用,演示地址: https://chat.yadou.net, 支持單聊和群聊,目前demo中默認只加入群組1,具體的實現(xiàn)邏輯可以看源碼實現(xiàn)。
所有的業(yè)務(wù)邏輯(邏輯層和路由層)采用Laravel實現(xiàn),長連接采用Gopusher Comet(接入層)實現(xiàn)。除了Laravel外,還引入以下依賴:
phpctx/ctx 一個Service服務(wù)模塊化組織框架
predis/predis Redis庫
安裝
首先需要安裝 Gopusher Comet 并進行配置
-
下載 Chat,并安裝
git clone https://github.com/Gopusher/laravel-chat.git 配置 .env composer install
其它
其實以前采用了自己的一個框架實現(xiàn)了一個版本,但是覺得還是 Laravel 使用的人更多,也更容易方便大家參考,所以就采用了Laravel實現(xiàn)了一版,他們都依賴了
Gopusher Comet來維護與客戶端建立的長連接,Gopusher Comet 是一個 開源 的 支持分布式部署 的 通用 長連接接入層服務(wù),接管客戶端連接,支持集群,提供了 API 供開發(fā)者調(diào)用。
除了能用于 聊天應(yīng)用,你還能通過接入comet(接入過程比你想象中簡單)來用于如 網(wǎng)頁消息推送,游戲 等其他長連接場景下的應(yīng)用,開發(fā)文檔見 https://github.com/Gopusher/comet/wiki
因為很多時候業(yè)務(wù)邏輯都很具體,每個產(chǎn)品的需求都會不同,所以這個源碼沒有實現(xiàn)很漂亮的客戶端,只是為了展示怎么實現(xiàn)Comet來實現(xiàn)一個分布式聊天,里邊有分布式的comet路由保持相關(guān)的邏輯,不過因為開發(fā)時間倉促路由層和業(yè)務(wù)邏輯層沒有分太細。
