Beetle是基于c#编写的高性能稳定的TCP通讯组件,它可以轻易支持成千上万长连接基础上进行密集的通讯交互. 组件提供了出色的性能支持和可靠的稳定性足以保证应用7x24无间断运行。为了更好地利用.Net的网络IO来处理数据,组件提供智能合并消息机制,组件调度器会根据当前负载情况对发向客户的多个消息进行合并处理,减少.NET操作网络IO的数量从而达到更高的处理效能,经过测试在大量用户信息广播的情况轻易可以处理上百万的消息转发。
Beetle结构
功能
- 连接在线管理(提供在线连接维护,连接会话管理,数据接收,连接断开等相关事件跟踪)
- 支持数据接收/发送/消息处理队列(多线程可配置)
- 发送数据智能合并(组件会根据资源使用情况,对多个同时发送向同一连接的多个消息数据进行合并写入缓冲区)
- 消息控制器,自动根据消息类型路由到相应的处理方法
- 内存池管理(提供一系列的接收和发送buffer可复用池)
- 数据读写封装(提供IDataWriter和IDataReader,方便数据的读写,具备兼容Big-Endian和Little-Endian)
- 对象协议描述(提供基于对象的方式来描述TCP通讯协议)
- 运行时数据统计(可以在运行时监控数据处理情况:包括连接数,收/发队列和buffer池的使用情况)
- 协议分析集成(提供基础的协议分解处理,默认提供消息大小头和结束符等基础协议功能)
- 协义自定义(可根据情况实现HTTP,WEBSOCKET等不同通过协议解释器)
- LRU连接检测机制(通过LRU可以轻松地把一段时间没活的连接清除)
- 客户端功能
- 连接池功能