Qt for Windows:使用WinPcap开发高性能UDP服务器
首先介绍一下WinPcap
WinPcap是Windows下一个网络库,性能极其强悍而且能够接收各种包。
大名鼎鼎的WireShark就是基于这个库开发的。
那么这个库性能到底有多高呢。
我测试了UDP包的接收,每包1400字节大小,WinPcap可以轻松接下4w包每秒(也就是将近430M带宽,更高的我没测试过),Qt的QUdpSocket只能收到1.2w个,ASIO也只能收到2.5w个。
我提取了WinPcap的UDP接收功能,简单的封装了一下。
注:使用时请选择网卡,默认是第一个(index为0)的网卡。
注2:使用前要安装库,库的安装exe已经放在了工程里面。
代码:
https://github.com/188080501/JasonQt_WinPcap
http://blog.csdn.net/wsj18808050/article/details/49668417
Qt for Windows:使用WinPcap开发高性能UDP服务器的更多相关文章
- <摘录>详谈高性能UDP服务器的开发
上一篇文章我详细介绍了如何开发一款高性能的TCP服务器的网络传输层.本章我将谈谈如何开发一个高性能的UDP服务器的网络层.UDP服务器的网络层开 发相对与TCP服务器来说要容易和简单的多,UDP服务器 ...
- 【Qt】Qt在Windows下的开发与调试环境配置
前文已经交待了从源码编译Qt自定义版本.现在可以开始配置一下开发与调试程序并写个Hello World了. 1. IDE 虽然Qt官方有VS插件使我们可以在VisualStudio中开发Qt应用,但我 ...
- <摘录>详谈高性能TCP服务器的开发
对于开发一款高性能服务器程序,广大服务器开发人员在一直为之奋斗和努力.其中一个影响服务器的重要瓶颈就是服务器的网络处理模块.如果一款服务器程序不能及时的处理用户的数据.则服务器的上层业务逻辑再高效也是 ...
- 【Network】高性能 UDP 服务应该怎么搞?
参考资料: Netty系列之Netty高性能之道 C++高性能服务框架revover:rudp总体介绍(可靠UDP传输) - zerok的专栏 - 博客频道 - CSDN.NET 高性能异步Socke ...
- Qt for windows消息循环、libqxt分析和wince快捷键处理
Qt for windows消息循环.libqxt分析和wince快捷键处理 利用Qt做windows图形界面开发和MFC相比,个人感觉还是比较简单好用的:首先利用Designer工具搞个ui文件:然 ...
- Netty实现高性能RPC服务器优化篇之消息序列化
在本人写的前一篇文章中,谈及有关如何利用Netty开发实现,高性能RPC服务器的一些设计思路.设计原理,以及具体的实现方案(具体参见:谈谈如何使用Netty开发实现高性能的RPC服务器).在文章的最后 ...
- 再谈高性能Web服务器,MemoryPool的作用
在以往使用c#实现scoket服务器中,通常遇到一个问题就是内存占用高,GC次数频繁,导致处理能力直线下降 其主要原因是在处理socket请求时,大量的申请,复制内存,为了解决这个问题,NET Cor ...
- qt在windows下的udp通信(最简单)
qt编程:windows下的udp通信 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:win7 开发环境:qt 功能: 用udp进行收发 ...
- QT + OpenCV + MinGW 在windows下配置开发环境
由于研究项目需要,最近开始接触C++界面设计,关于“QT + OpenCV + MinGW在windows下配置开发环境”着实让人头疼,单次配置时间相当长,也十分不容易,本人第一次配置成 ...
随机推荐
- 运用Hibernate-Tools自动生成Java类和schema时,出现not found while looking for property...异常
问题描述: 在使用Hibernate-tools时出现not found while looking for property...(具体信息省略). 问题分析: 我找到出错对应的hbm.xml文件, ...
- img标签的方方面面
<IMG>标签的方方面面 <img>标签是页面上最为重要的元素之一.很难想象一个页面上没有图片的样子,这样的页面效果将会大打折扣. 任何一个前端工程师想必对<img> ...
- TCP粘包拆包问题
阿π 专注于网络协议,系统底层,服务器软件 C++博客 | 首页 | 发新随笔 | 发新文章 | | | 管理 Socket粘包问题 这两天看csdn有一些关于socket粘包,socket缓冲区设置 ...
- JQuery DataTables Editor---页面内容修改&&数据库信息修改 (2)
接上篇博文,详细说一下js代码以及JQuery DataTables Editor---页面内容修改&&数据库信息修改遇到的问题和解决办法. 1.关于dialog 初始化: $(&qu ...
- Oracle EBS-SQL (WIP-16):检查期间手工下达的车间任务数.sql
select WE.DESCRIPTION 任务说明, --DECODE( ...
- Oracle EBS-SQL (PO-7):检查异常-非批准的供应商设置供货比例.sql
select distinct msr.sourcing_rule_name 名称,msi.description 说明,msi ...
- LPC同STM32的比较
Cortex-M3是新兴起来的一种ARM7的核,而ARM7TDMI是一种传统的经典的ARM内核.我们就抛开这一切,来比较一下两则的异同. 我们就在以下平台上比较吧: STMicoelectronics ...
- Mongo散记--聚合(aggregation)& 查询(Query)
mongo官网:http://www.mongodb.org/ 工作中使用到Mongo,可是没有系统的学习研究过Mongo,仅对工作过程中,在Mongo的使用过程中的一些知识点做一下记录,并随时补充, ...
- 依赖注入及AOP简述(十三)——AOP应用举例(完结) .
2. AOP应用举例 在一般的应用程序开发中,有一些典型的AOP应用,使得开发者可以专注于业务逻辑本身,而不是与之完全无关的一些“方面”. l 首先就是关于前面介绍过的日志输出类 ...
- SQL常用函数
SQL中常用的函数有类型转换函数.字符串函数和日期使用函数.更多具体的函数用法参见DBMS中的帮助文档. 类型转换函数 cast(值 as 类型) update 表名 set 列1=列1+cast(列 ...