[Go 语言社区]Golang架构--服务器与客户端自定义传输规则--原创

对于写过架构的童鞋来说,自己封装传输规则也没有任何问题的,本文只是抛砖引玉,简单的说下我曾经和现在服务器使用的传输的规则,敬请看:

对于服务器和客户端通信,我们在实现功能的时候,对于功能及大的模块话功能时候必须明确,没有制定一个好的容易理解的协议规则,功能开发过程中会遇到很多问题;我设计的传输规则架构采用主、从协议来定制,如下:

以心跳协议为例子:

//【1】 通信相关 Network_Data_Proto 子协议
const (
    NetworkINIT = iota
    // 心跳检测
    Net_Heart_Beating_Proto // Net_Heart_Beating_Proto == 1 心跳检测
)
//--------------------------------------------------------------------------------
// 【心跳检测】 Net_Heart_Beating_Proto
type Net_Heart_Beating struct {
    Protocol  uint32 // 主协议
    Protocol2  uint32 // 子协议
}

这个就是协议规则的最简单的协议,假如客户端选择JSON传递给服务器,传输为:如果主协议为 Network_Data_Proto 是1的话

{ Protocol:1, Protocol2:1},有在传输规则有疑问的可以联系我。

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2016-03-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维小白

11.6 MariaDB安装

安装mariadb cd /usr/local/src wget https://downloads.mariadb.com/MariaDB/mariadb-1...

25050
来自专栏大数据-Hadoop、Spark

Unable to connect to zookeeper server within timeout: 6000

1.启动zookeeper 2.启动kafka 3.启动kafka-producer 4.启动kafka-consumer 5.生产一些消息 6.ka...

55960
来自专栏holer

外网访问内网MySQL数据库

本地安装了MySQL数据库,只能在局域网内访问,怎样从外网也能访问本地MySQL数据库?

30710
来自专栏我爱吃花生

腾讯云镜像仓库实验记录

首先到github个人首页,浏览器地址栏红框位置为用户名(github可以通过用户名或者邮箱方式登录)

36410
来自专栏holer

如何从外网访问局域网Apache HTTP Server

本地安装了Apache HTTP Server,只能在局域网内访问,怎样从公网也能访问本地Apache HTTP Server?

27910
来自专栏软件

DevOps之Gitlab-Runner

背景 Gitlab-Runner是一款用于执行软件集成脚本的工具,它配合Gitlab-CI使用,是Gitlab代码管理工具的一部分。当软件工程师提交代码到Git...

27760
来自专栏计算机视觉

linux-Anaconda+conda创建python-pytorch虚拟环境

26520
来自专栏流柯技术学院

sublime text 3启动报错"swallow_startup_errors"解决方法

首选项 -- package settings -- Anaconda -- settings-user,

15130
来自专栏吉浦迅科技

CentOS 6.5系统安装配置图解教程(详细图文)

说明: 下面介绍CentOS 6.5的具体安装配置过程 服务器相关设置如下: 操作系统:CentOS 6.5 64位 IP地址:192.168.21.129 网...

46880
来自专栏腾讯云容器服务团队的专栏

使用腾讯云容器服务来构建简单web service

本文将介绍使用nginx和php来构建简单web service,核心在于如何配置nginx的upstream,使得nginx能够与后端服务通信。

1.7K100

扫码关注云+社区

领取腾讯云代金券