-
1. 关于喧喧
- 1.1 关于喧喧聊天软件
- 1.2 喧喧的主要功能
- 1.3 喧喧的使用授权说明
- 1.4 喧喧技术架构实现方案
- 1.5 如何获得技术支持
-
2. 安装喧喧服务器
-
2.1. 集成安装
- 2.1.1 集成安装(推荐)
- 2.1.2 Windows 一键安装包
-
2.2. 手动安装
-
2.2.1. 安装后端处理服务器(XXB)
- 2.2.1.1 源码包安装XXB(系统通用)
- 2.2.1.2 Linux 一键安装包安装
- 2.2.1.3 宝塔Nginx安装XXB
- 2.2.1.4 安装 ionCube 扩展
- 2.2.2 使用禅道作为后端处理服务器
- 2.2.3 使用 ZDOO 协同作为后端处理服务器
-
2.2.4. 安装消息中转服务器(XXD)
- 2.2.4.1 Windows 系统安装XXD
- 2.2.4.2 Linux 系统安装XXD
-
2.2.1. 安装后端处理服务器(XXB)
-
2.3. 安装桌面客户端(XXC)
- 2.3.1 Windows 系统安装XXC
- 2.3.2 macOS 系统安装XXC
- 2.3.3 Linux 系统安装XXC
- 2.4 CentOS / Ubuntu 下安装 Docker
- 2.5 安装音视频服务端
- 2.6 安装 SRS 音视频服务端
- 2.7 安装Jitsi音视频服务端
- 2.8 浏览器端安装客户端
- 2.9 防火墙开启喧喧使用端口
- 2.10 安装 Office 服务端
-
2.1. 集成安装
-
3. 升级喧喧服务器和客户端
-
3.1. 升级后端处理服务器
-
3.1.1. XXB升级
- 3.1.1.1 源码包升级XXB(系统通用)
- 3.1.1.2 Windows 一键安装包升级XXB
- 3.1.1.3 Linux 一键安装包升级XXB
- 3.1.2 禅道升级
- 3.1.3 ZDOO协同升级
-
3.1.1. XXB升级
- 3.2 升级消息中转服务器(XXD)
- 3.3 升级喧喧客户端
- 3.4 升级喧喧浏览器端
-
3.1. 升级后端处理服务器
- 4 常见错误处理
喧喧技术架构实现方案
- 2019-04-01 09:24:02
- 薛才杰
- 14068
- 最后编辑:先知 于 2020-02-01 14:18:08
- 分享链接
一、喧喧技术实现目标
喧喧即时通信解决方案目标:- 多平台支持:服务器支持任意系统平台部署,客户端支持在任意平台上使用;
- 交互体验:实现无延迟的聊天体验;
- 安全性:保证通信安全性,禁止第三方截获消息;
- 性能:支持大量用户同时在线使用;
- 可扩展性:采用通用技术,方便进行二次开发;
- 集成:易于与已有系统进行集成。
二、喧喧技术实现方案
喧喧即时通信解决方案包含三个部分:
- 后端处理服务器(XXB):提供聊天数据存储以及供客户端使用的接口,以及喧喧服务器管理界面;
- 消息中转服务器(XXD):作为中间守护服务器,提供文件上传下载管理、协调客户端与后端服务器通信;
- 客户端(XXC):提供最终用户使用的交互界面。
客户端(XXC)通过 Socket 连接到 XXD 服务器;XXD 服务器负责管理所有已连接的客户端,并且随时将客户端相关信息通过 HTTP 协议汇报给后端处理服务器(XXB)。
客户端 (XXC)并不直接与后端处理服务器(XXB)通信,而且将消息发送给 XXD 服务器,XXD 服务器接收到客户端消息后立即将消息发送给后端处理服务器(XXB)。
后端处理服务器(XXB)如果有消息要推送给客户端(XXC)需要先发送给 XXD 服务器,然后 XXD 服务器将后端处理服务器(XXB)的消息再推送给客户端(XXC)。
在以上三方直接存在 2 种通信协议:
- Socket:客户端(XXC)与 XXD 服务器直接使用 Socket 协议连接(文件上传下载除外),可以实现实时通信,将用户聊天过程中的延迟降至最低;
- HTTP:XXD 服务器与后端处理服务器(XXB)通过 HTTP 协议通信。HTTP 协议具有广泛的支持,并且使用简单,这样用户更容易将喧喧集成到自己的系统中。
通常情况下喧喧客户端(XXC)、后端处理服务器(XXB)和消息中转服务器(XXD)的关系如下:
三、喧喧服务端和客户端的技术实现
3.1 后端处理服务器的实现
后端处理服务器(XXB)采用 php + mysql 开发,使用 ZentaoPHP 作为开发框架,非常方便的进行二次开发。3.2消息中转服务器的实现
消息中转服务器( XXD )采用 Go 语言实现。Go 语言具备高性能、支持高并发、易于学习使用,非常适合来开发中间守护服务器。消息中转服务器( XXD )使用到了 go-sqlite3 来实现服务器缓存功能。
3.3 客户端的实现
客户端(XXC)推荐采用 HTML/CSS/JS 实现,目前官方桌面客户端基于 Electron 开发。微信公众号
部署半天还是不能访问,也不知道怎么才算是正常,果断放弃了