![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
schat
nmsoccer
没有后台的后台
https://github.com/nmsoccer
展开
-
数据传输
说明上面一节通信协议是制定了schat业务系统所使用的业务数据描述协议,但在实际的数据传输过程中,包括服务器与服务器之间,服务器与客户端之间,它们是作为传输协议的有效载荷payload来进行发送的。所以这里就涉及到更下一层的数据传输过程。也包括两方面,服务器之间与服务器客户端之间.服务器之间传输服务器之间的数据传输使用了proc_bridge作为进程通信组件。具体的proc_bridge细节参见本人的github地址:proc_bridge。这里我们只需要知道参与通信的进程需要指定一个proc_id进原创 2020-12-21 21:56:33 · 299 阅读 · 0 评论 -
通信协议
说明下面将介绍schat服务框架所使用的序列化协议,所使用的协议从功能来说分为两类:服务器进程之间通信协议服务器与客户端通信协议服务进程通信协议服务器内部进程一般会部署在一个idc之中,内网通信,较为稳定和高效。我们使用protobuf作为协议描述和序列化工具,性能和兼容性都较好,官方本身也对go提供了良好的支持。具体的protobuf安装和go支持已经在上一篇说明,这里介绍具体的通信协议。描述下面摘自schat/proto/ss/ss.proto文档,描述了大概的协议轮廓:synt原创 2020-12-21 21:09:34 · 400 阅读 · 1 评论 -
SChat安装部署
说明下面将介绍搭建Schat服务的详细步骤,这期间除了redis和protobuf,基本不需要依赖其他大型的第三方框架,只使用少量本人之前编写的一些简单C库. 在进行过程中尽量使用手工安装,这样方便理解与排错。下面摘自github里schat相关的安装步骤.环境安装:基础软件GO下载页面https://golang.google.cn/dl/ 或者 https://golang.org/dl/ 这里下载并使用go 1.14版本,然后tar -C /usr/local -xzf go1.1原创 2020-12-21 19:47:52 · 1206 阅读 · 0 评论 -
GO从零构建一个分布式IM系统
介绍这个系列将主要介绍从服务端基于go语言从零开始构建一个基于群聊分布式IM系统。同时提供了对应的android客户端作为功能的演示和验证,前后端均开源,方便二次开发。原则基于go语言来构建的这个群聊系统被命令为schat,即simple chat,首先需要满足simple,简单性。简单依赖在构建一个系统时不可避免的要集成其他的许多框架来综合使用,这又不断引入新的学习成本,提高了心智负担,所以在schat的构建过程中极力避免引入第三方框架或者其他库(除了逼不得已)。能使用GO的标准库尽量使用标原创 2020-12-21 17:10:18 · 919 阅读 · 0 评论