anychat 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
anychat 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票

软件简介

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)

加载中
jdk1.8?
2017/12/07 17:15
回复
举报
电霸儿软件作者
打分: 力荐
NB
2017/11/17 16:45
回复
举报
更多评论
暂无内容
发表了博客
2013/12/24 14:02

Anychat 行业内最佳的跨平台音视频解决方案

随着近年来国际互联网技术的快速发展以及中国的网络基础设施的不断完善,国内先进的网络技术从而得到了不断的提高和普及和应用,越来越多的企业开始走进了企业信息化、国际化的信息高速公路。人们生活质量的提高和改变给很多信息化企业带来了无限的机遇与挑战,越来越多的项目也随之出现,例如:视频聊天室、网络远程教育...

0
1
发表了博客
2013/06/06 00:00

Android移动端音视频的快速开发教程(二)

2.4. 服务器SDK概述 “AnyChat Server SDK”与“SDK Filter Plus”均是服务器扩展编程接口,均为动态连接库(DLL)形式,两者的主要区别是:(1)、“SDK Filter Plus”的DLL被AnyChat核心服务器程序(AnyChatCoreServer.exe)调用,与AnyChat核心服务器程序属同一个进程;(2)、“AnyChat Server SDK”被业务层服务器程...

0
2
发表了博客
2013/04/08 14:14

外部音视频数据输入功能的使用

AnyChat Platform Core SDK V4.2版本增加了外部音视频数据输入功能,该功能主要满足一些特殊应用场合下的需求,通常普通用户不会使用到,使用该功能,可以由上层应用程序输入视频数据、音频数据到AnyChat,然后AnyChat再对这些数据进行编码、传输,即使用上层应用的数据做为数据源,而不使用AnyChat从本地声卡、摄像头采...

0
2
发表了博客
2012/12/14 00:00

如何快速开发跨平台音视频应用软件

首先,介绍一下Anychat跨平台系列的开发包!从官网就可以免费下载开发测试了! AnyChat SDK是一套多媒体即时通讯平台库,大部分需要用到音视频交互的系统都可以采用AnyChat SDK来开发。AnyChat SDK内部封装了音视频的采集、编码、传输、解码以及播放(显示)功能,只需要几个简单的API调用,即可实现多个用户之间的语音、...

0
10
发表了博客
2013/04/10 00:00

移动终端的崛起发展三分天下

随着移动端的崛起,具有多种应用功能的智能手机以及平板电脑也都应运而生占据了目前大部分市场!而一直处于竞争阶段的IOS和Android系统在激烈的厮杀下,本以为Windows系统的移动端已经可以退隐江湖,从此不问世事,却不知道也在最近迅猛的发起进攻,凭借着在win phone技术上的创新,终于在手机移动终端的市场了站稳了脚跟...

0
0
发表了博客
2012/12/14 00:00

Android移动端音视频的快速开发教程(六)

4 函数说明 4.1. 初始化与资源释放 4.1.1. 初始化SDK INT InitSDK(INT osver, INT flags) 功能:初始化SDK 返回值:0表示成功,否则为出错代码 参数: osver Android平台API版本,系统常量:android.os.Build.VERSION.SDK_INT flags 功能模式组合,默认为0,参考WIN32平台SDK的InitSDK的参数dwFuncMode定义 备注: 功能模...

0
0
发表了博客
2013/04/09 00:00

如何利用音视频的API接口控制音量

AnyChat SDK是一套多媒体即时通讯平台库,大部分需要用到音视频交互的系统都可以采用AnyChat SDK来开发。AnyChat SDK内部封装了音视频的采集、编码、传输、解码以及播放(显示)功能,只需要几个简单的API调用,即可实现多个用户之间的语音、视频、文字交互,由于内核已经实现了P2P网络,所以上层应用不需要关心复杂的网...

0
0
发表了博客
2013/06/06 00:00

Android移动端音视频的快速开发教程(一)

移动开发也称为手机开发,或叫做移动互联网开发。是指以手机、PDA、UMPC等便携终端为基础,进行相应的开发工作,由于这些随身设备基本都采用无线上网的方式,因此,业内也称作为无线开发。 移动应用开发是为小型、无线计算设备编写软件的流程和程序的集合,像智能手机或者平板电脑。移动应用开发类似于Web应用开发,起源...

1
4
发表了博客
2013/04/07 00:00

对于微软MSN在当代竞争中落败的反思

总结:五大落败原因:1、产品越来越僵化;2、无法实现“断点续传”文件;3、太重视战略而轻视战术; 4、竞争环境有一定影响;5、丧失移动端的机会。 MSN缘何落到如此惨败境地,创业者能从中吸取什么教训?《创业邦》撰文对此做了分析,现摘录如下: 1、产品越来越僵化。从2002、2003年火热时代,到2008年开始没落,MSN的...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
2 评论
61 收藏
分享
返回顶部
顶部