七、Zinx的读写分离模型

​ 好了,接下来我们就要对Zinx做一个小小的改变,就是与客户端进修数据交互的Gouroutine由一个变成两个,一个专门负责从客户端读取数据,一个专门负责向客户端写数据。这么设计有什么好处,当然是目的就是高内聚,模块的功能单一,对于我们今后扩展功能更加方便。

​ 我们希望Zinx在升级到V0.7版本的时候,架构是下面这样的:

 七、Zinx的读写分离模型  - 图1

Server依然是处理客户端的响应,主要关键的几个方法是Listen、Accept等。当建立与客户端的套接字后,那么就会开启两个Goroutine分别处理读数据业务和写数据业务,读写数据之间的消息通过一个Channel传递。