热门标签 | 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


推荐阅读
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文总结了初学者在使用dubbo设计架构过程中遇到的问题,并提供了相应的解决方法。问题包括传输字节流限制、分布式事务、序列化、多点部署、zk端口冲突、服务失败请求3次机制以及启动时检查。通过解决这些问题,初学者能够更好地理解和应用dubbo设计架构。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 【MicroServices】【Arduino】装修甲醛检测,ArduinoDart甲醛、PM2.5、温湿度、光照传感器等,数据记录于SD卡,Python数据显示,UI5前台,微服务后台……
    这篇文章介绍了一个基于Arduino的装修甲醛检测项目,使用了ArduinoDart甲醛、PM2.5、温湿度、光照传感器等硬件,并将数据记录于SD卡,使用Python进行数据显示,使用UI5进行前台设计,使用微服务进行后台开发。该项目还在不断更新中,有兴趣的可以关注作者的博客和GitHub。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了如何在Azure应用服务实例上获取.NetCore 3.0+的支持。作者分享了自己在将代码升级为使用.NET Core 3.0时遇到的问题,并提供了解决方法。文章还介绍了在部署过程中使用Kudu构建的方法,并指出了可能出现的错误。此外,还介绍了开发者应用服务计划和免费产品应用服务计划在不同地区的运行情况。最后,文章指出了当前的.NET SDK不支持目标为.NET Core 3.0的问题,并提供了解决方案。 ... [详细]
  • 本文介绍了在go语言中利用(*interface{})(nil)传递参数类型的原理及应用。通过分析Martini框架中的injector类型的声明,解释了values映射表的作用以及parent Injector的含义。同时,讨论了该技术在实际开发中的应用场景。 ... [详细]
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社区 版权所有