Archive for 十月, 2019

学习Golang之服务器框架编写 – CS网络通信

概况

blue的整个CS网络通信设计参考了TarsGo(https://github.com/TarsCloud/TarsGo),在其基础上做了一些优化与微创新。

目前只提供了基于TCP通信协议的相关接口,后续会加入UDP或者RUDP通信。

代码包里提供了一个简单的TCPClient封装,里面有连接服务器、收发包基本功能。一般来说用不到,因为使用go做客户端的比较少。目前仅仅在blue的样例中使用。

 

设计细节

Server框架

利用go的语言特性,我们很方便的将Server需要的接口抽象出来,类似于C++的纯虚函数:

type ServerHandler interface {
    //设置监听地址端口
    Listen() error
    //接受连接的主循环,根据不同协议处理不同
    Run() error
}

如果你需要自己加入相关的协议监听,上述interface的内容是必须要实现的。

Read More →

鄂公网安备42018502003990号