开篇
平台上最不可缺少的是即时通讯。 例如通知类的分发、客服聊天等。 我今天在做开源的即时信息玩。 如果对文章不感兴趣,可以直接跳到文章的末尾,获取开源gitee上的链接,也可以是我自己修改的压缩包的地址。 但是,文章的内容必须通过一次。 redis涉及聊天会话,没有源代码,所以自己修改了。
本文一如既往,这次来建设的开源系统,是即时通讯,开源部分有限,作者让我抽出时间进行更改,拿去后直接在后台使用。 看的同学必须有一定的工作基础。 如果您只对源代码感兴趣,请阅读个人资料,然后跳到文章的末尾。 如果对构建过程的学习感兴趣,马上关注、转发、收藏吧。 最终,源代码不会变成什么蛋,如何使用是关键。 源代码容易找,调试难,所以请你好好珍惜。
项目简介
这个项目是基于apache mina和Netty框架的推送系统,使用极光推送、百度推送、小米推送、腾讯信鸽等第三方推送SDK支撑自己的移动终端。 可能有人想自己实现即时消息传递系统,但是现在提供了支持websocket、android、ios、台式机APP、系统APP等多点访问的解决方案和想法然后我已经整合了redis,看看是否值得,收藏是否值得,自己读文章!
项目架构
即时消息聊天的体系结构相对简单,通常是服务终端客户端,实现用户a到用户b的聊天。 金的含量在于树枝不支持集群扩张。 当然,redis以保存各个连接信息为中心。
聊天体系结构
项目主要模块
项目分为服务器端和客户端。 服务器方面,netty整合了web套接字和redis。 客户端格式多种多样,可以调用服务器端。 本篇不重点介绍,后面的源代码贴上我写的demo。
核心调试部分
环境: 16G内存的电脑,JDK1.8以上,Maven3.6以上,开发工具Idea,redis 3以上。
1、像往常一样从开源gitee上的地址导入项目,如下图所示进行操作。 网速的画基本上有几分钟就可以了,但是网速慢的话就等着吧。
git部署项目
导入后的屏幕快照
2、修改redis的配置,注意截图中的红色,在pom.xml中修改maven依赖,因为原开源项目中没有redis相关代码,这部分是我整理添加的! 这里也是重点。 否则你的聊天不能支持集群!
3、加入redis相关的配置,不需要粘贴源代码的内容,所以截图了这里。 需要源代码是到文章的最后为止吧。 包括redis配置、redis实用程序和相关的配置。
4、在这里实现一个。 nginx配置了负载平衡和反向代理,nginx软件自己下载吧。 将nginx.conf修改如下
与nginx相关的配置
5、将静态文件放入nginx下的html下,执行nginx。 启动后台。
后台服务
6、到此结束。 让我们来看看效果。
a、
访问服务端页面 http://localhost:8080 注意是8080 ,这里只能给用户推送信息不能发聊天信息。
B、访问客户端页面 http://localhost/cim-client-web/
C、随便填写一个用户,没有的话后台会自动注册到redis的。例如我填写的是test;和test2;当然本文重点不是前端页面,只是简单的在源代码的基础上加了聊天。因为源代码只有推送,没有聊天!!
D、看看redis里的信息 cimsessions 这个key是我加上去的,源代码里也没有,自己可以该成自己的,看自己如何扩展了。
结语
此套开源的即时通讯系统,可以改改成推送的,也可以改成聊天的,后端改改可以拿来直接使用,重点不在前端,但android 和ios还有web都支持,自己看代码中的例子吧,值不值得收藏,自己先看看文章,觉得可以收藏一下,慢慢看。作为攻城狮的我们,不收藏些代码就对不起自己。老规矩,转发,关注,赶紧收藏吧,私信回复”im”,开源商城作者的代码开源地址链接拿走另外还有我修改后的压缩包也拿走包括前端和后端修改后的加redis的!!有问题,也可以评论留言,一起学习进步!!注意私信回复”im”!!