剖析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支持消息的多种编码格式
1、理解消息元信息
2、注册消息元信息
3、示例:使用消息元信息
4、实现消息的编码(EncodeMessage())和解码(DecodeMessage())函数
七、接收和发送封包(Packet)
1、接收可变长度封包
2、了解封包数据读取器(PacketReader)
3、了解封包数据写入器(PacketWriter)
4、读取自定义封包及数据
5、写入自定义封包及数据
6、响应消息处理事件
八、使用cellnet实现聊天功能
1、定义聊天协议
2、实现客户端功能
3、实现服务器功能
4、运行聊天服务器和客户端