剖析cellnet包网络库,设计并实现Socket聊天功能

cellnet的设计理念是:高性能、简单、方便、开箱即用

一、了解cellnet网络库的特性、流程与架构

1、cellnet网络库的特性

2、cellnet网络库的流程以及架构

二、管理TCP Scket连接

1、理解Socket的事件类型

2、管理事件回调

3、连接器(Connector)

4、会话管理(SessionManager)

5、接收器(Acceptor)

三、组织接收和发送数据流程的Socket会话(Session)

1、在会话开始时启动goroutine和派发事件

2、会话中的接收数据循环

3、会话中的发送数据循环

四、排队处理事件的事件队列(EventQueue)

1、实现事件队列

2、使用不同的事件队列模式处理数据

五、消息编码(codec)-让cellnet支持消息的多种编码格式

六、消息元信息(MessageMeta)-消息ID、消息名称和消息类型的关联关系

1、理解消息元信息

2、注册消息元信息

3、示例:使用消息元信息

4、实现消息的编码(EncodeMessage())和解码(DecodeMessage())函数

七、接收和发送封包(Packet)

1、接收可变长度封包

2、了解封包数据读取器(PacketReader)

3、了解封包数据写入器(PacketWriter)

4、读取自定义封包及数据

5、写入自定义封包及数据

6、响应消息处理事件

八、使用cellnet实现聊天功能

1、定义聊天协议

2、实现客户端功能

3、实现服务器功能

4、运行聊天服务器和客户端