Golang | Zinx学习笔记(一)

参考

http://zinx.me/
https://www.kancloud.cn/aceld/zinx/1960213
https://www.yuque.com/aceld/tsgooa/gx01meg5ow4pftac


说明

zinx是一个基于Golang的轻量级并发服务器框架。

目前zinx已经在很多企业进行开发使用,具体使用领域包括:后端模块的消息中转、长链接游戏服务器、Web框架中的消息处理插件等。zinx的定位是代码简洁,让更多的开发者迅速的了解框架的内脏细节并且可以快速基于zinx DIY(二次开发)一款适合自己企业场景的模块。

zxin v0.1

zxin v0.1的代码比较基础,就是一些接口定义,服务的监听。项目结构如下:

Golang | Zinx学习笔记(一)_第1张图片
IServer接口定义:
Golang | Zinx学习笔记(一)_第2张图片

运行测试文件

cd znet
go test

Golang | Zinx学习笔记(一)_第3张图片


Zinx-V0.2-简单的连接封装与业务绑定

V0.1版本我们已经实现了一个基础的Server框架,现在我们需要对客户端链接和不同的客户端链接所处理的不同业务再做一层接口封装,当然我们先是把架构搭建起来。代码结构如下:
Golang | Zinx学习笔记(一)_第4张图片
IConnection接口定义:
Golang | Zinx学习笔记(一)_第5张图片

该接口的一些基础方法,代码注释已经介绍的很清楚,这里先简单说明一个HandFunc这个函数类型,这个是所有conn链接在处理业务的函数接口,第一参数是socket原生链接,第二个参数是客户端请求的数据,第三个参数是客户端请求的数据长度。这样,如果我们想要指定一个conn的处理业务,只要定义一个HandFunc类型的函数,然后和该链接绑定就可以了。

运行测试文件

cd znet
go test

Golang | Zinx学习笔记(一)_第6张图片

总结

0.1和0.2版本的代码比较基础,就是一些对http的封装。

你可能感兴趣的:(go语言,学习,笔记)