anychat 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
anychat 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
anychat 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 电霸儿
适用人群 未知
收录时间 2017-11-17

软件简介

anychat 是一个极简纯净的 websocket 聊天插件,支持对接任何身份系统,嵌入方只需提供三个 API 即可进行实时通讯。支持个人聊天、群聊天、上下线、查看聊天记录、离线消息推送等,服务器绝对控制权的推送机制,合理的线程设计,支持 mongodb 存储聊天记录,天生的嵌入式支持。

截图

体验地址:

https://www.threecss.com/AnyChatClient/third-embed-demo.html

内部流程图

优势:

1、合理的线程归属设计,登录、离线、断线归属线程1,其他业务归属随机线程。
2、服务器掌握绝对的控制权,消息首先推送至每个人的消费队列,每个线程再进行轮训推送消息。
3、第三方身份系统只需提供身份验证、好友列表或组织成员列表、获取组信息三个api即可完成对接,进行聊天。
4、支持嵌入式,通过iframe即可进行嵌入
<iframe src="https://ip:port/AnyChatClient/index.html?token=5ffdefd0e1104ebdbc49cc6de538b669"></iframe>
5、支持聊天记录存入MongoDB,提高性能。

项目目录结构:

AnyChatServer(目录结构 3276行)

|--src.main.java(服务器代码)
	|--AnyChatServer.properties---------------配置文件(需要修改)
	|--generatorConfig.xml--------------------mybatis自动生成配置文件(重新生成时,需要修改)
	|--org.anychat
		|--action.IdentityAction.java---------从第三方身份系统获取数据(对接非默认身份系统时,需要修改)
		|--init.InitServlet-------------------启动类
		|--mongodb----------------------------聊天记录存储至mongodb的扩展包(如果不用mongodb,此包没用)
		|--plugin.PaginationPlugin.java-------mybatis自动生成配置文件启动类
		
|--protobuf(消息包生成工具)

AnyChatClient(912行代码)

|--js(js库)
	|--anychat(anychat文件夹)
		|--css(anychat css)
		|--dist(anychat js打包版本)
		|--images(anychat image)
		|--src(anychat js未打包版本)
	|--lib(依赖js)
		|--jquery.min.js
		######################################
		|--juggle-all.js(解耦合的工具库ALL IN ONE:https://github.com/dianbaer/juggle)
		或
		|--juggle-help.js
		|--juggle-event.js (解耦合的工具库small require:https://github.com/dianbaer/juggle)
		|--juggle-websocket.js
		|--juggle-mv.js
		######################################
		|--jquery.mCustomScrollbar.concat.min.js
|--third(third-embed-demo.html使用的样式)
|--index.html(示例启动项目,需要修改链接AnyChatServer地址)
|--third-embed-demo.html(第三方嵌入index.html示例)
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(2)
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
2 评论
66 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部