Watch Star

常康 / webimJava

加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
webim —— 网页即时通讯系统详细注释体验版(教科书式操作)
常康 最后提交于 更新 README.md
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md 4.06 KB

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

  • 访问地址:http://193.112.207.218/webim/ 建议一个人注册两个账号互相加好友测试(阿里云欠费了,等我发工资了就可以访问了)
  • 第一版,写的比较仓促,好多想法没有实现,模块没有划分,命名和编码规范都不好,还有几个明显的漏洞,请不要错误利用,正在拼命优化中。
  • 架构图(看此图胜读10年书):https://www.processon.com/view/link/5a50a4bee4b0a447b9910216
  • 数据库(适合所有IM):https://www.processon.com/view/link/598876dde4b0e56e5d07f787
  • 如商用或者定制,需授权
  • 作者QQ:875079028。其实功能很简单,大家都会就是没有人去写,都没有时间或者怕麻烦,于是我就写了。
  • webim后台管理版暂不开源(为公司统一添加分组,部门和好友,网站客服等)

技术架构

网页即时通讯系统,登陆后所有操作无需刷新。后悔采用jfinal,前期写起来简单又快,但是后期扩展起来非常难,各种不支持,各种不能集成,但是本项目主要是用来理解即时通讯的思路和原理,扩展不是重点。通讯协议使用的是MQTT,需要自己架设MQ服务器(哪公司的MQ都可以,支持MQTT协议就行),支持高并发,至于为什么要用这个协议,我还是不透露了,需要你们亲自动手用其他协议实现一下就知道了,个人认为mqtt协议不仅是物联网通讯协议,也是目前用来开发即时通讯最快最简单的通讯协议,强烈建议自己开发IM的同学使用此协议(难点是topic的逻辑设计)。消息的获取是推送还是拉取,都行合适就行。技术虽然简单但是功能实用,需要分布式部署的话请联系我。

主要功能

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

系统截图

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

未提交移动版

未提交电脑板

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

项目点评 ( 79 )

你可以在登录后,发表评论

搜索帮助