Skip to content

zsy619/cjweave

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目命名

“Weave”意为编织,象征着框架能够将网络通讯的各个线程和任务编织成一个高效和谐的整体。

命名:cjweave

基础的server

方法:

  • 初始化
  • 启动服务
  • 停止服务
  • 运行服务
  • 初始化server

属性:

  • name名称
  • 监听的IP
  • 监听的端口

链接模块

方法:

  • 启动链接start()
  • 停止链接stop()
  • 获取当前链接的conn对象(套接字)
  • 得到链接
  • 得到客户端链接的地址和端口
  • 发送数据的方法send()

属性:

  • socket TCP套接字
  • 链接的ID
  • 当前链接的状态
  • 与当前链接绑定的处理业务方法
  • 等待链接被动退出的信号量

Request请求

属性:

  • 链接IConnection
  • 请求数据

方法:

  • 得到当前链接
  • 得到当前请求数据
  • 新建一个Request请求

消息Message

属性:

  • 消息的ID
  • 消息的长度
  • 消息的内容

方法:

  • Setter、Getter方法

Connection连接

属性:

  • 链接属性Map
  • 保护属性的锁
  • 与当前链接绑定的处理业务方法
  • 等待链接被动退出的信号量

方法:

  • 启动链接start()
  • 停止链接stop()
  • 获取当前链接的conn对象(套接字)
  • 设置链接属性
  • 获取链接属性
  • 移出链接属性

消息的TLV序列化

解决TCP粘包问题

  • 封包
  • 拆包

消息管理模块多路由

属性:

  • 路由表:消息ID和业务处理方法的映射关系

方法:

  • 根据msgid调度路由
  • 添加路由到路由表

读写分离

About

CjWeave轻量级TCP服务器框架

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages