惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
雷峰网
雷峰网
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
博客园 - 【当耐特】
量子位
有赞技术团队
有赞技术团队
博客园 - 三生石上(FineUI控件)
博客园 - Franky
M
MIT News - Artificial intelligence
U
Unit 42
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
The Cloudflare Blog
J
Java Code Geeks
V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
MyScale Blog
MyScale Blog
T
Tailwind CSS Blog
T
The Blog of Author Tim Ferriss
V
V2EX

博客园 - 多米诺

IIS W3SVC 无法启动1068错误的解决 Windows 10 自动升级画面 国内网站常用的一些 CDN 公共库加速服务 WebBrowser与IE的关系,如何设置WebBrowser工作在IE9、10、11模式下? [转]Windows 8.1删除这台电脑中视频/文档/下载等六个文件夹的方法 VS2013无法链接到TFS(Visual studio online),错误TF31001,TF31002 WP8 对音视频格式支持的完整说明 sprintf_s的教训 硬盘崩溃之后 MSDN Windows 下载 12 Source Code Profilers for C & C++ [转].NET Logging Tools and Libraries Qt 4.7 在VS2010环境下的编译 HttpWebRequest的使用方法 [转]合约程序员——中小型企业信息化的最佳选择 [转]高可用高性能计算机系统配置与调谐的基本策略 2008在网络的边缘到达了 .Net framework 3.5 无法安装,附解决方法 查找重复的美女图片 :-)
[原创]采用SocketAsyncEventArgs实现异步UDP收发
多米诺 · 2008-11-16 · via 博客园 - 多米诺

很久以来都是看别人的文章,吭哧赛吭哧歪,今天对自己的网络通讯支持类进行升级后,感觉是向社区回馈一些的时刻了。

这个 UdpSocket 是在以前的 BeginXXX/EndXXX基础上改进而来,目的是为了提供性能。为此参考了博客园、以及其它园的多篇

关于 .Net 2.0sp1 中新增的 xxxAsync 函数族的使用方法,在此一并致谢。

 别的不多说,请看下述代码。

首先是抄自 MSDN 中的 SocketAsyncEventArgsPool,用于实现初步的SocketAsyncEventArgs对象池:

Code

然后是核心的 UdpSocket 类实现

Code

使用这个UdpSocket很简单,参考如下示例

Code

欢迎大家拍砖!

 参考文章:

 .NET3.5中的高性能 Socket API

 翻译:使用.net3.5的缓存池和SocketAsyncEventArgs类创建socket服务器

 关于 WinsockSockAddr 类的代码如下:

Code