使用Beetle简单构建高性能Socket tpc应用
c
使用Beetle简单构建高性能Socket tpc应用
您的评价: 收藏该经验beetle是基于c#编写的高性能Socket tcp组件,它基于SocketAsyncEventArgs的实现并提供了发送队列和接收队列的支持,可以根据情况灵活地设置1-N个发送队列和接收队列。除了队列上的支持组件还提供Buffer缓冲池和基于Buffer的DataWriter,DataReader对象,从而达到消息可以灵活地分布在多个Buffer中,实现更好的内存利率.为了使处理更高效组件使用多个SocketAsyncEventArgs对数据进行处理,可以同时进行接收和发送操作.经测试beetle可以在一些比较旧的电脑上(core e4300 1.8g)的电脑可以进行6W个以上的send或receive操作,并包括数据包分析、对象写入缓冲或从缓冲中读取;就是说可以处理3W个请求并进行数据流分析反序列化对象的同时重新写入缓冲发送出去;这些测试表明组件提供非常好的性能支持[详情]。
在使用上传统Socket编写tcp应虽然不是复杂但写起来也是件麻烦的事情,还要处理分包和粘包上的问题。但beetle都解决了以上问题,所有操作都是基于方法和事件来实现,只需要在便建一个对象简单的绑定一个事件就能完成工作。组件还提供基于分隔符和头描述大小的方式数据流分包
转载于:https://www.cnblogs.com/lexus/archive/2012/04/19/2458626.html
使用Beetle简单构建高性能Socket tpc应用相关推荐
- 使用Beetle简单构建高性能Socket tcp应用
beetle是基于c#编写的高性能Socket tcp组件,它基于SocketAsyncEventArgs的实现并提供了发送队列和接收队列的支持,可以根据情况灵活地设置1-N个发送队列和接收队列.除了 ...
- 使用Beetle简单构建聊天室程序
之前已经讲解了Beetle简单地构建网络通讯程序,那程序紧紧是讲述了如何发送和接收数据:这一章将更深入的使用Beetle的功能,主要包括消息制定,协议分析包括消息接管处理等常用的功能.为了更好的描述所 ...
- 使用Beetle.Express简单构建高吞吐的TCPUDP应用
在Beetle.Express1.2中加了UDP支持,而整体的设计结构也做了调整.只需要通过简单的配置就能实现高吐的TCP&UDP应用.由于组件引用UDP服务同样也支持会话状态所以对于服务是T ...
- 构建高性能ASP.NET站点 第六章—性能瓶颈诊断与初步调优(下前篇)—简单的优化...
构建高性能ASP.NET站点 第六章-性能瓶颈诊断与初步调优(下前篇)-简单的优化措施 前言:本篇给出一些在部署ASP.NET站点时采用的简单的优化措施. 本篇议题如下: ...
- php redis 传递闭包,通过缓存构建高性能 Laravel 应用
通过缓存构建高性能 Laravel 应用 由 学院君 创建于3年前, 最后更新于 11个月前 版本号 #2 20678 views 9 likes 1 collects 配置 Laravel 为不同的 ...
- 构建高性能WEB站点笔记二
构建高性能WEB站点笔记 因为是跳着看的,后面看到有提到啥epoll模型,那就补充下前面的知识. 第三章 服务器并发处理能力 3.2 CPU并发计算 进程 好处:cpu 时间的轮流使用.对CPU计算和 ...
- 构建高性能WEB站点笔记三
构建高性能WEB站点笔记三 第10章 分布式缓存 10.1数据库的前端缓存区 文件系统内核缓冲区,位于物理内存的内核地址空间,除了使用O_DIRECT标记打开的文件以外,所有对磁盘文件的读写操作都要经 ...
- TARS-PHP:PHP构建高性能RPC框架
内容来源:2018 年 5 月 19 日,阅文集团高级开发工程师梁晨在"PHPCon China 2018 技术峰会"进行<TARS-PHP:PHP构建高性能RPC框架> ...
- 用SQL Server 2005构建高性能数据仓库
用SQL Server 2005构建高性能数据仓库 摘要:本文主要讨论当架构一个很大的.高性能的数据仓库,特别是对那种无法预知有多少查询量的系统时要考虑的一些东西.这个讨论包括SQL Server 2 ...
最新文章
- windows密钥连接linux,windows使用密钥登录linux
- ABAP DOI详解(2)
- 用C#快速往Excel写数据
- [收集]美女与野兽——萨尔和吉安娜的绯闻
- C# winform 窗体怎么隐藏标题栏,不显示标题栏
- MapReduce Input Split 输入分/切片
- golang 数组组合成最小的整数_golang数组-----寻找数组中缺失的整数方法
- 【文章】浅相遇,薄相知,淡相守,终难忘
- cmd命令行启动、停止IIS,打开iis net start w3svc
- Eclipse : Android requires compiler compliance level 5.0 or 6.0.
- 合并多个 SQL 文件,并用 Navicat 执行
- 【带权并查集题目汇总】
- Hybrid App
- 数据结构:顺序表的基本操作
- 伯努利试验及n重伯努利试验
- 华三H3C路由器配置FTP服务并使用电脑连接ftp传输文件
- vx开发|JSON配置文件
- 《每日论文》ImageNet Classification with Deep Convolutional Neural Networks
- MyCAT XA分布式事务
- java中如何将26个字母依次输出_Java用for循环依次打印26个英文字母,每行十个字母的代码怎么打?...