“Weave”意为编织,象征着框架能够将网络通讯的各个线程和任务编织成一个高效和谐的整体。
命名:cjweave
方法:
- 初始化
- 启动服务
- 停止服务
- 运行服务
- 初始化server
属性:
- name名称
- 监听的IP
- 监听的端口
方法:
- 启动链接start()
- 停止链接stop()
- 获取当前链接的conn对象(套接字)
- 得到链接
- 得到客户端链接的地址和端口
- 发送数据的方法send()
属性:
- socket TCP套接字
- 链接的ID
- 当前链接的状态
- 与当前链接绑定的处理业务方法
- 等待链接被动退出的信号量
属性:
- 链接IConnection
- 请求数据
方法:
- 得到当前链接
- 得到当前请求数据
- 新建一个Request请求
属性:
- 消息的ID
- 消息的长度
- 消息的内容
方法:
- Setter、Getter方法
属性:
- 链接属性Map
- 保护属性的锁
- 与当前链接绑定的处理业务方法
- 等待链接被动退出的信号量
方法:
- 启动链接start()
- 停止链接stop()
- 获取当前链接的conn对象(套接字)
- 设置链接属性
- 获取链接属性
- 移出链接属性
解决TCP粘包问题
- 封包
- 拆包
属性:
- 路由表:消息ID和业务处理方法的映射关系
方法:
- 根据msgid调度路由
- 添加路由到路由表