简单易懂的服务器网络框架。
- Xnet类管理链接事件,负责和内核打交道。允许添加和删除Xacceptor和Xconnector。
- Xacceptor负责监听端口Xconnector负责链接其他服务端地址。它俩都包含一个协议解析器。
- Xsocket类是网络信道类,表示一条链接。它也包含一个协议解析器。
- 消息的收发和解析是多线程的。解析好的消息回放到消息处理线程的队列中。
- 消息处理是单线程的。它从队列中取出消息后,先去上下文工厂生产上下文,如果没造出,就去已有的上下文根据消息的序列号去找上下文。如果还没找到就丢掉这个无效消息,找到了就用这个上下文处理这个消息。
- 基本的消息处理框架是这样的,挺容易让使用者明白的。
- Xsoket类含有一个队列,存放int类型的seqId。用于短链接时标记的发送的请求序列号,一般用于http。对于redis可以把发送的各个请求seqId序列号依次push进队列。收到消息后依次在pop出seqId。