热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开源项目:采用Laravel编写的一个聊天应用LaravelChat

写在开头:其实这里只是为了介绍GopusherComet你可以很容易的使用httpapi来构建实时聊天(比如这里的laravel-chat),通知推送应用。之所以不是一个具体的聊天






写在开头:其实这里只是为了介绍 Gopusher Comet 你可以很容易的使用 http api 来构建实时聊天(比如这里的 laravel-chat),通知推送应用。

之所以不是一个具体的聊天开源产品,是因为具体的需求往往是多样的,这个chat不是为了让你去使用,而是一种思路,让你能通过Gopusher Comet去只通过调用接口就能 很容易的 实现你自己聊天,网页消息推送等。



Laravel Chat

源码:https://github.com/Gopusher/laravel-chat

这是一个聊天应用,演示地址: https://chat.yadou.net, 支持单聊和群聊,目前demo中默认只加入群组1,具体的实现逻辑可以看源码实现。

所有的业务逻辑(逻辑层和路由层)采用Laravel实现,长连接采用Gopusher Comet(接入层)实现。除了Laravel外,还引入以下依赖:


  • phpctx/ctx 一个Service服务模块化组织框架

  • predis/predis Redis库


安装


  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路由保持相关的逻辑,不过因为开发时间仓促路由层和业务逻辑层没有分太细。




laravel
ctx
chat
Gopusher


推荐阅读
  • angular.element使用方法及总结
    2019独角兽企业重金招聘Python工程师标准在线查询:http:each.sinaapp.comangularapielement.html使用方法 ... [详细]
  • node.jsurlsearchparamsAPI哎哎哎 ... [详细]
  • 有意向可以发简历到邮箱内推.简历直达组内Leader.能做同事的话,内推奖励全给你. ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 本文介绍了Codeforces Round #321 (Div. 2)比赛中的问题Kefa and Dishes,通过状压和spfa算法解决了这个问题。给定一个有向图,求在不超过m步的情况下,能获得的最大权值和。点不能重复走。文章详细介绍了问题的题意、解题思路和代码实现。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • 一、路由首先需要配置路由,就是点击good组件进入goodDetail组件配置路由如下{path:goodDetail,component:goodDetail}同时在good组件中写入如下点击事件,路由中加入 ... [详细]
  • 1.利用node实现页面实时更新,主要 ... [详细]
  • 初始化初始化本地空版本库,仓库,英文名repositorymkdirtest&&cdtestgitinit克隆项目到本地gitclone远程同 ... [详细]
  • predis与phpredisredis官方推荐的php客户端是predis和phpredis。前者是完全使用php代码实现的原生客户端,后者则是用c编写的php拓展 ... [详细]
author-avatar
刘惠雯661556
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有