到这里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框架详解-小结相关推荐

  1. 双目视觉集合框架详解

    双目视觉几何框架详解 一.图像坐标:我想和世界坐标谈谈(A) 玉米竭力用轻松具体的描述来讲述双目三维重建中的一些数学问题.希望这样的方式让大家以一个轻松的心态阅读玉米的<计算机视觉学习笔记> ...

  2. jQuery Validate验证框架详解

    2019独角兽企业重金招聘Python工程师标准>>> 一.导入js库 <script type="text/javascript" src="& ...

  3. shiro放行_Shiro框架详解 tagline

    部分面试资料链接:https://pan.baidu.com/s/1qDb2YoCopCHoQXH15jiLhA 密码:jsam 想获得全部面试必看资料,关注公众号,大家可以在公众号后台回复" ...

  4. [Cocoa]深入浅出 Cocoa 之 Core Data(1)- 框架详解

    深入浅出 Cocoa 之 Core Data(1)- 框架详解 罗朝辉(http://blog.csdn.net/kesalin) CC 许可,转载请注明出处 Core data 是 Cocoa 中处 ...

  5. WebDriver自动化测试框架详解

    webDriver自动化测试框架详解 一. 简介 WebDriver API相对于Selenium Remote Control API来说,虽然同样是控制浏览器,但它的编程接口更加简洁 WebDri ...

  6. atitit.jQuery Validate验证框架详解与ati Validate 设计新特性

    atitit.jQuery Validate验证框架详解与ati Validate 设计新特性 1. AtiValidate的目标1 2. 默的认校验规则1 2.1. 使用方式 1.metadata用 ...

  7. Android 动画框架详解,第 1 部分

    2019独角兽企业重金招聘Python工程师标准>>> Android 平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果,本文将向读者阐述 Android 的动画框 ...

  8. springboot2整合mysql5_SpringBoot2整合SSM框架详解

    SpringBoot2整合SSM框架详解 发布时间:2019-01-15 21:33, 浏览次数:1218 , 标签: SpringBoot SSM <>开发环境 * 开发工具:Eclip ...

  9. Django REST FRAMEWORK swagger(一)框架详解

    Django REST FRAMEWORK swagger(一.框架详解) 一.Django REST  SWAGGER框架图 具体见下图 二.说明 RESTFul说明 每一个URI代表一种资源: 客 ...

最新文章

  1. MySQL解压版配置
  2. 开源阅读书源_安卓开源无广告追书神器阅读App
  3. Git错误:fatal: Not a git repository (or any of the parent directories)解决方法
  4. PXE启动芯片出错代码表、初始化/引导/载入Bootstrap错误代码
  5. 【风控体系】互联网反欺诈体系漫谈
  6. JavaSE(二十一)——栈和队列、栈和堆
  7. k8s使用port-forward访问集群中的应用程序(只能在执行命令的机器上开放端口)
  8. sqlserver2008数据库自动备份的sql脚本及使用bat命令执行脚本
  9. 【软件】我安装Tomcat5.5(Java Web开发服务器)的几点经验
  10. 用Thread实现socket多线通讯
  11. Android中动态的更改selector中某张图片的属性
  12. php 位运算与权限,PHP中的二进制位运算和权限存储
  13. 如何执行字符串的PHP代码
  14. 【kafka】kafka 新增节点 报错 InconsistentBrokerIdException Configured broker.id doesn‘t match
  15. 接口测试之post常见数据提交方式
  16. idea 包拆分_idea springboot项目拆分多模块踩坑记(1)
  17. C#中完美克隆引用类型的对象
  18. 阿里云推出企业级智能协同办公方案 云桌面、云AP、云客服一应俱全
  19. 帕拉丁(山东)俱乐部大型西藏自驾游,天籁之旅,与心灵自由相约
  20. html 怎么在背景图片上添加内容,css 如何在一个背景图片的中间添加文字呢?

热门文章

  1. 【Java】五种常见排序之-----------冒泡排序
  2. linux工具:ssh---未完
  3. 一款不错的编程字体Source Code Pro
  4. 初学ASP.NET 必看
  5. PIE SDK与OpenCV结合说明文档
  6. MVC身份验证及权限管理(转载)
  7. C#如何用正则表达式截取https和带端口的域名
  8. 从0到1简易区块链开发手册V0.3-数据持久化与创世区块
  9. php 利用http上传协议(表单提交上传图片 )
  10. 充分利用系统的组策略 保障共享目录安全