• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

webim: webim —— 网页即时通讯系统详细注释教学版(教科书式保姆级操作) ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

webim

开源软件地址:

https://gitee.com/kangchang/webim

开源软件介绍:

说明(本项目重点不在如何使用如何部署,而是给大家提供一个IM解决方案,提供一个思路,如何设计topic,如何设计最简单的数据库)

  • 数据库文件可能与本项目有一丝丝差别但是不影响运行,因为阿里云没钱续费,导致资源被释放,数据库没有来得及备份,所以我也没有最新版数据库设计文件了
  • 第一版,写的比较仓促,好多想法没有实现,模块没有划分,命名和编码规范都不好,还有几个明显的漏洞,请不要错误利用。
  • 架构图(看此图胜读10年书):https://www.processon.com/view/link/5a50a4bee4b0a447b9910216
  • 数据库(适合所有IM):https://www.processon.com/view/link/598876dde4b0e56e5d07f787
  • 作者微信:875079028。其实功能很简单,大家都会就是没有人去写,都没有时间或者怕麻烦,于是我就写了,本项目主要是用来提供思路和理念!!!。
  • 项目很简单总共就一个controller,两个页面(登录页面,聊天页面)
  • 用户id或者账号就是mqtt的topic,用户账号密码就是mqtt连接的账号和密码(项目配置文件内默认了mqtt服务器地址,可以暂时不用自己架设mqtt服务器)
  • webim后台管理版暂不开源(为公司统一添加分组,部门和好友,网站客服等)
  • 项目为本人大三时所开发,项目不更新是因为没有要升级的部分了,比较稳定(当年还不流行springboot,也不流行前后端分离)。
  • 项目视频:点击查看

主要技术

网页即时通讯系统,登陆后所有操作无需刷新(收/发/离线)。采用mqtt,可以利用协议本身优势,省去群组发送消息和接收消息的开发,多端登录接收消息的开发,本质只是往订阅的主题中推送消息。采用jfinal,前期写起来简单又快,但是后期扩展起来非常难,各种不支持,各种不能集成,改为springboot很好改,已经有很多同学改成功了但是本项目主要是用来理解即时通讯的思路和原理,扩展不是重点。通讯协议使用的是MQTT,需要自己架设MQ服务器(哪公司的MQ都可以,支持MQTT协议就行),至于为什么要用这个协议,主要是因为订阅/发布模式,并且各种系统和开发语言的客户端sdk都有,个人认为订阅/发布模式是目前用来开发即时通讯最快最简单的通讯协议,强烈建议自己开发IM的同学使用此协议(难点是topic的逻辑设计)。在线状态的处理也是巧妙的利用的mqtt协议消息的获取是推送还是拉取,都行合适就行。技术虽然简单但是功能实用,大三学习mqtt所编写的项目,有漏洞希望理解。

mqtt下载地址

https://docs.emqx.cn/cn/broker/latest/getting-started/install.htmlhttps://docs.emqx.cn/cn/broker/latest/development/resource.html

主要功能

  1. 聊天记录
  2. 添加好友
  3. 添加群组
  4. 创建群组
  5. 好友私聊
  6. 好友群聊
  7. 离线消息 (重点,不丢失消息)
  8. 发送文件
  9. 上下线通知 (重点)
  10. 好友分组管理
  11. 查找好友
  12. 消息撤回(重点,测试中)
  13. 删除好友
  14. 退出群组
  15. 好友在线状态(重点,实时准确)
  16. 异常掉线处理(重点,不管是主动退出离线,刷新网页,关闭网页,关闭浏览器,兼容所有浏览器,在线离线准确率100%)
  17. 修改个人信息(第二版)
  18. 查看好友详细信息(第二版)
  19. 接收消息(支持多端登录,收到消息)
  20. 好友移动分组(第二版)
  21. 查看好友详细资料(第二版)
  22. 修改备注(好友备注/群备注)
  23. 消息加密(第二版)

系统截图

添加好友好友操作输入图片说明修改头像创建群组查看群成员发送文件消息通知

未提交移动版

未提交电脑板

输入图片说明输入图片说明输入图片说明输入图片说明输入图片说明输入图片说明输入图片说明


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap