BeetleX框架详解-小结
到这里BeetleX组件代码讲解完成了,由于组件只封装了TCP基础通讯的功能,因此在内容上并不会有太多;通以上内容相信对BeetleX的设计有一定的了解,在使用上也更加容易。
要点
Socket对象应用
SocketAsyncEventArgs对象应用
线程池的应用与设计
缓冲区的应用与设计
网络数据流处理
TCP应用协议分析处理
回顾主要对象
ServerOptions
负责服务信息配置
(https://github.com/IKende/BeetleX/blob/master/src/BeetleX/ServerOptions.cs)
ListenHandler
负责服务地址监听和接收连接
(https://github.com/IKende/BeetleX/blob/master/src/BeetleX/ListenHandler.cs)
TcpServer
负责服务整合,数据接收,发送和所有连接会话管理
(https://github.com/IKende/BeetleX/blob/master/src/BeetleX/TcpServer.cs)
TcpSession
负责连接的会话管理
(https://github.com/IKende/BeetleX/blob/master/src/BeetleX/TcpSession.cs)
IServerHandler
负责描述会话行为,主要包括,连接创建,释放和数据接收处理等事件
(https://github.com/IKende/BeetleX/blob/master/src/BeetleX/IServerHandler.cs)
IPacket
负责应用协议分析
(https://github.com/IKende/BeetleX/blob/master/src/BeetleX/IMessageFormatr.cs)
SocketFactory
负责服务和客户端创建
(https://github.com/IKende/BeetleX/blob/master/src/BeetleX/ServerFactory.cs)
Buffer
数据缓冲区,主要用于Socket的接收和发送数据
(https://github.com/IKende/BeetleX/blob/master/src/BeetleX/Buffers/IBuffer.cs)
BufferPool
数据缓冲池,针对缓冲区进行分配和释放管理
(https://github.com/IKende/BeetleX/blob/master/src/BeetleX/Buffers/Pool.cs)
PipeStream
主要负责网络数据流读写,并提供ssl支持。
(https://github.com/IKende/BeetleX/blob/master/src/BeetleX/Buffers/PipeStream.cs)
SingleThreadDispatcher
线程队列,主要用于任务处理和执行
(https://github.com/IKende/BeetleX/blob/master/src/BeetleX/Dispatchs/Dispatcher.cs)
DispatchCenter
线程队列调度中心,负责多个线程队列的分配管理
(https://github.com/IKende/BeetleX/blob/master/src/BeetleX/Dispatchs/Dispatcher.cs)
反馈
如果你对文章的有意见或发现错误可以发邮件到admin@beetlex.io或henryfan@msn.com
计划
由于beetlex.io涉及的开源组件还是比较多,后面会把HTTP服务,网关等待相关组件也会进行一个详细讲述;不过这些组件的实现和讲解决就远比BeetleX基础组件来复杂,毕竟这些都是一个标准应用协议的完整实现,涉及的内容比较详细丰富。
BeetleX
开源跨平台通讯框架(支持TLS)
轻松实现高性能:tcp、http、websocket、redis、rpc和网关等服务应用
https://beetlex.io
BeetleX框架详解-小结相关推荐
- 双目视觉集合框架详解
双目视觉几何框架详解 一.图像坐标:我想和世界坐标谈谈(A) 玉米竭力用轻松具体的描述来讲述双目三维重建中的一些数学问题.希望这样的方式让大家以一个轻松的心态阅读玉米的<计算机视觉学习笔记> ...
- jQuery Validate验证框架详解
2019独角兽企业重金招聘Python工程师标准>>> 一.导入js库 <script type="text/javascript" src="& ...
- shiro放行_Shiro框架详解 tagline
部分面试资料链接:https://pan.baidu.com/s/1qDb2YoCopCHoQXH15jiLhA 密码:jsam 想获得全部面试必看资料,关注公众号,大家可以在公众号后台回复" ...
- [Cocoa]深入浅出 Cocoa 之 Core Data(1)- 框架详解
深入浅出 Cocoa 之 Core Data(1)- 框架详解 罗朝辉(http://blog.csdn.net/kesalin) CC 许可,转载请注明出处 Core data 是 Cocoa 中处 ...
- WebDriver自动化测试框架详解
webDriver自动化测试框架详解 一. 简介 WebDriver API相对于Selenium Remote Control API来说,虽然同样是控制浏览器,但它的编程接口更加简洁 WebDri ...
- atitit.jQuery Validate验证框架详解与ati Validate 设计新特性
atitit.jQuery Validate验证框架详解与ati Validate 设计新特性 1. AtiValidate的目标1 2. 默的认校验规则1 2.1. 使用方式 1.metadata用 ...
- Android 动画框架详解,第 1 部分
2019独角兽企业重金招聘Python工程师标准>>> Android 平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果,本文将向读者阐述 Android 的动画框 ...
- springboot2整合mysql5_SpringBoot2整合SSM框架详解
SpringBoot2整合SSM框架详解 发布时间:2019-01-15 21:33, 浏览次数:1218 , 标签: SpringBoot SSM <>开发环境 * 开发工具:Eclip ...
- Django REST FRAMEWORK swagger(一)框架详解
Django REST FRAMEWORK swagger(一.框架详解) 一.Django REST SWAGGER框架图 具体见下图 二.说明 RESTFul说明 每一个URI代表一种资源: 客 ...
最新文章
- MySQL解压版配置
- 开源阅读书源_安卓开源无广告追书神器阅读App
- Git错误:fatal: Not a git repository (or any of the parent directories)解决方法
- PXE启动芯片出错代码表、初始化/引导/载入Bootstrap错误代码
- 【风控体系】互联网反欺诈体系漫谈
- JavaSE(二十一)——栈和队列、栈和堆
- k8s使用port-forward访问集群中的应用程序(只能在执行命令的机器上开放端口)
- sqlserver2008数据库自动备份的sql脚本及使用bat命令执行脚本
- 【软件】我安装Tomcat5.5(Java Web开发服务器)的几点经验
- 用Thread实现socket多线通讯
- Android中动态的更改selector中某张图片的属性
- php 位运算与权限,PHP中的二进制位运算和权限存储
- 如何执行字符串的PHP代码
- 【kafka】kafka 新增节点 报错 InconsistentBrokerIdException Configured broker.id doesn‘t match
- 接口测试之post常见数据提交方式
- idea 包拆分_idea springboot项目拆分多模块踩坑记(1)
- C#中完美克隆引用类型的对象
- 阿里云推出企业级智能协同办公方案 云桌面、云AP、云客服一应俱全
- 帕拉丁(山东)俱乐部大型西藏自驾游,天籁之旅,与心灵自由相约
- html 怎么在背景图片上添加内容,css 如何在一个背景图片的中间添加文字呢?