喧喧官网 : https://xuan.im/index.html

架构

喧喧即时通信解决方案包含三个部分:

  • 客户端(xxc):提供最终用户使用的交互界面;
  • 后端服务器(xxb):提供聊天数据存储以及供客户端使用的接口,以及喧喧服务器管理界面。
  • XXD 服务器(xxd):作为中间守护服务器,提供文件上传下载管理、协调客户端与后端服务器通信。

客户端通过 Socket 连接到 XXD 服务器;XXD 服务器负责管理所有已连接的客户端,并且随时将客户端相关信息通过 HTTP 协议汇报给后端服务器;客户端并不直接与后端服务器通信,而且将消息发送给 XXD 服务器,XXD 服务器接收到客户端消息后立即将消息发送给后端服务器;后端服务器如果有消息要推送给客户端需要先发送给 XXD 服务器,然后 XXD 服务器将后端服务器的消息再推送给客户端。在以上三方直接存在 2 中通信协议:
Socket:客户端与 XXD 服务器直接使用 Socket 协议连接(文件上传下载除外),可以实现实时通信,将用户聊天过程中的延迟降至最低;
HTTP:XXD 服务器与后端服务器通过 HTTP 协议通信,HTTP 协议具有广泛的支持,并且使用简单,这样用户更容易将喧喧集成到自己的系统中。
通常情况下客户端、后端服务器和 XXD 服务器的关系如下:

技术实现

后端服务器实现

后端服务器采用 php + mysql 开发,使用 ZentaoPHP 作为开发框架,非常方便的进行二次开发。
XXD 服务器实现

XXD 服务器端采用 Go 语言实现。Go 语言具备高性能、支持高并发、易于学习使用,非常适合来开发中间守护服务器。
XXD 服务器使用到了 go-sqlite3 来实现服务器缓存功能。
客户端实现

客户端推荐采用 HTML/CSS/JS 实现,目前官方桌面客户端基于 Electron 开发。

环境安装

从https://xuan.im/page/download.html 分别下载xxd代理服务器安装包 和后端业务服务器服务器安装包 xxb.2.5.6.zbox_64.tar.gz(当前最新)附图:

上传到liunx服务器上

解压

  • 解压后端业务服务器服务器安装包

tar zxvf xxb.2.5.6.zbox_64.tar.gz -C /opt 注意一定是/opt目录

解压代理服务器安装包到当前目录,留后面用

tar zxvf  xxb.2.5.6.liunx.x64.tar.gz

修改配置文件

修改配置文件 /opt/zbox/run/xxd/config/xxd.conf

[root@iZwz9938t1plpjxsy3riqdZ ~]# cat  /opt/zbox/run/xxd/config/xxd.conf
[server]
ip=0.0.0.0            # 监听的IP地址,不要使用127.0.0.1。
commonPort=11443      # 登录和附件上传接口(http),确保防火墙开放此端口。
chatPort=11444        # 聊天消息通讯端口(websocket),确保防火墙开放此端口。
https=off              # 是否启用Https(on|off)。使用Https可以保证消息全程加密。
uploadPath=files/     # 附件保存的目录。默认存放在xxd/files/。
uploadFileSize=32M    # 上传文件的大小,以M为单位。
maxOnlineUser=0       # 在线用户上限,0为无限制。
logPath=log/          # 程序运行日志的保存路径。
certPath=cert/        # 证书的保存路径。
debug=0               # Debug级别,可设置0|1|2[backend]
#
# xxd可以对接多个后台程序。每一个后台程序由入口文件 + 私钥组成。
# 客户端登录时如果没有指定后台程序,会默认登录到第一个后台程序。
##backend1=http://127.0.0.1/x.php,88888888888888888888888888888888
#backend2=http://192.168.1.3/xxb/x.php,88888888888888888888888888888888
backend2=http://120.78.166.56:8080/xxb/x.php,e42faa01a0a867a5ed3d2ad3e4cbd3b0 注意本机用backend1 外网用backend2,8080为启动端口

启动服务

Apache和Mysql常用命令
执行/opt/zbox/zbox start 命令开启Apache和Mysql。
执行/opt/zbox/zbox stop 命令停止Apache和Mysql。
执行/opt/zbox/zbox restart 命令重启Apache和Mysql。
可以使用/opt/zbox/zbox -h命令来获取关于zbox命令的帮助
其中 -ap参数 可以修改Apache的端口,-mp参数 可以修改Mysql的端口(比如:/opt/zbox/zbox -ap 8080)

访问

访问和登录喧喧
启动Apache和Mysql服务后,
浏览器直接访问 http://xxb服务器ip:apache端口 即可访问和登录。

访问http://120.78.166.56:8080/ 如图:

客户端登录

客户端下载地址:https://xuan.im/page/download.html

使用xuanxuan-browser 静态页面登录:附图
注:服务器为ip,不加端口

2桌面程序登录

喧喧聊天的协同开源办公工具环境搭建相关推荐

  1. Android资源总结(开发工具/环境搭建/教程/论坛/博客/反编译工具)

    Android资源总结(开发工具/环境搭建/教程/论坛/博客/反编译工具) 在Android发展前景相当好的情况下,本人最近搜集了一些关于Android的相关资源,当然包含以前发布的博客内容,进行了一 ...

  2. 2.工具环境搭建(电商推荐系统)

    文章目录 1.MongoDB(单节点)环境配置 2.Redis(单节点)环境配置 3.Spark(单节点)环境配置 4.Zookeeper(单节点)环境配置 5.Flume-ng(单节点)环境配置 6 ...

  3. Mit Mini Cheetah开源代码开发环境搭建

    MIT Mini Cheetah–开源代码仿真环境搭建 摘要 2019年以来,关于四足机器人的报道越来越多,我比较关注的是MIT mini cheetah.Mini Cheetah的外表是很可爱的,它 ...

  4. MIT Mini Cheetah–开源代码仿真环境搭建记录(Ubuntu20.04)

    MIT Mini Cheetah–开源代码仿真环境搭建记录(Ubuntu20.04) 一.安装依赖包 sudo apt install mesa-common-dev freeglut3-dev co ...

  5. 海思3556V200 PQTools 工具环境搭建

    海思3556V200 PQTools 工具环境搭建 1.电脑先安装MCR(Matlab Compiler Runtime)2012a(7.17)的32 位版本.下载地址:http://cn.mathw ...

  6. 2、Cubemx_canfestival对象字典生成工具环境搭建

    百度云盘链接: 链接:canfestival安装包 提取码:z5i4 1.canfestival对象字典生成工具环境搭建 软件是用python写的,由于版本较老,建议在虚拟机上安装python2.7 ...

  7. FaceBook ATC 弱网测试工具环境搭建

    原址 工具简介 ATC是FaceBook开源的移动网络测试工具Augmented Traffic Control(ATC),能够方便的让我们模拟各种网络环境进行测试. ATC有两个最吸引人的特点: 在 ...

  8. O2OA开源办公平台:搭建自定义工程及开发

    一.开发环境 JDK1.8 maven V3.5+ 运行环境 o2server V5.0+ 二.搭建工程及配置 工程模板下载:https://git.o2oa.net/o2oa/o2custom-sa ...

  9. CodeSnippet.info 开源说明 和 环境搭建 (第一版)

    Github开源声明 本网站的代码开源,开源的目的如下 技术分享 希望业内同行贡献代码 希望能够让网站更加安全 开源地址: CodeSnippet开源地址 关于代码贡献 任何人都可以贡献代码,一般在 ...

最新文章

  1. 「翻译」SAP MM 供应商评估流程初阶
  2. 【R语言学习】时间序列
  3. JSP+MySQL实例
  4. SQL表内查重和删重
  5. IntelliJ IDEA 修改单行注释的格式
  6. java和php哪个开发网站好,网站开发,Java和php两种开发语言,应该选哪一种,你知道吗?...
  7. 《统计学习方法》代码全解析——第四部分朴素贝叶斯
  8. 这文字的起始位置_如何用AE快速制造文字特效视频的效果?3分钟教你学会
  9. 图解 Python 编程(5) | 运算符(附要点速查表·完结)
  10. 一天搞懂深度学习(李宏毅)-学习笔记
  11. 第一个web项目-微信小程序后端开发
  12. 现代opengl 设计 assimp 3D 模型加载库
  13. lenovo服务器换系统重装系统_电脑怎么重装系统lenovo
  14. 学计算机基础的重要性,浅谈学习计算机基础知识的重要性.pdf
  15. 自然语言处理:CBOW(哈夫曼树)与Skip-Gram模型
  16. Spring Security简单SSO
  17. 对计算机进行重镜像错误,Windows 10 使用系统镜像恢复系统出现内部错误?
  18. CSDN文章被洗稿、抄袭严重!用Python做一个“基于搜索引擎的文章查重工具”,解决!...
  19. html5如何设置自动对焦,如何HTML5自动对焦添加到轨道的形式?
  20. 神一样的爱因斯坦,真的和外星人有什么联系?

热门文章

  1. 【可达编程】P0815. 歌手大赛
  2. 华为Mate X2发售首日秒没,黄牛报价4.5万,有中介安排12个人抢购
  3. CDH集群安装OpenLDAP服务并集成sssd客户端
  4. flex的常用用法二十条
  5. HIT信息安全概论复习:1~10
  6. Xxx饭堂系统 JAVA+SQL+JDBC完成一个小项目(下篇)
  7. 对26个英文字母进行huffman编码
  8. 天图投资冲刺港股:资产管理规模249亿 投了小红书与奈雪
  9. css 全角设置,CSS Flex框布局:全角行和列
  10. Windows系统下CMD添加删除用户、用户组