博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GatewayWorker+laravel5.5+layim即时通讯项目demo
阅读量:4945 次
发布时间:2019-06-11

本文共 782 字,大约阅读时间需要 2 分钟。

其中一些思路是看一位老铁的老铁demo,感谢这位老铁! https://github.com/shmilylbelva/webim,这位老铁用的是环信,我这里是用GatewayWorker+laravel5.5实现,虽然不能跟环信比,但是基本功能还是能实现!

layim  http://layim.layui.com

workerman http://www.workerman.net

其他不多说先上图,服务端请往下看:

1.好友上线通知

2.实现好友聊天

3.好友个性资料

4.个性分组和文件发送

 

5.群聊

 

6.加好友界面

体验地址:http://m.idomino.net:8081/ ,注册两个号,请在pc一个用默认浏览器打开,一个用微信浏览器打开,可以实现互聊,如遇到bug,勿喷!我是新手,请留情!^_^

7.说下服务端思路:

  用laravel集成gatewaywoker,在回调方法里面使用观察者模式,使客户端的消息类型到特定的类处理,其实可以用到反射,但是刚好看观察者就用上了,这样做到根据消息类型通知到专门的处理类,不用把代码全部写在一坨了--

  好友关系:A加了B,B同意之后,A在B的列表里,B也在A的列表里,这里用到的redis中的有序集合,来存储这样的关系

  我的分组:一个用户可能有多个分组,每个分组中有多个好友,我也是用的Redis中的set集合

  消息提醒:比如一个好友请求的消息,一个群解散的消息,上线提醒,在线提醒,目前用的也是redis中的list,后期会改用mongodb来存储

  根据workerman上面的手册来,就能完成这一系列的功能

  如需要源码或更多建议请加Q:2465998757

  

  

 

转载于:https://www.cnblogs.com/fangxijun/p/8360331.html

你可能感兴趣的文章
手机自带的表情入库
查看>>
用H5开发微信还是开发APP?
查看>>
linux dhcp搭建及pxe无人值守装机
查看>>
linux dup()\dup2()函数
查看>>
Java反射的几个小实例
查看>>
iOS开发之理解iOS中的MVC设计模式
查看>>
2017年07月05号课堂笔记
查看>>
10.14
查看>>
zedboard开发板上移植opencv代码(立体匹配)
查看>>
PTA 模拟【string以及字母->数组下标】
查看>>
POJ 3067【树状数组】
查看>>
JNI和NDK编程
查看>>
spring boot+mybatis搭建项目
查看>>
PHP Cookies
查看>>
点击放大图片预览
查看>>
最大熵原理
查看>>
Maven最佳实践:划分模块
查看>>
内容样式
查看>>
JAVA从局域网共享文件夹中下载上传文件以及java访问共享文件夹
查看>>
DAY19 面向对象三大特性之多态、封装
查看>>