• [原创]采用SocketAsyncEventArgs实现异步UDP收发


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

    这个 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


  • 相关阅读:
    【题解】 bzoj1207: [HNOI2004]打鼹鼠 (动态规划)
    【题解】 bzoj1088: [SCOI2005]扫雷Mine (神奇的做法)
    【题解】 bzoj4472: [Jsoi2015]salesman (动态规划)
    【题解】 bzoj4033: [HAOI2015]树上染色* (动态规划)
    【题解】 [HNOI/AHOI2018]道路 (动态规划)
    炫酷的英文字体分享
    艾伦·麦席森·图灵
    历史上最知名的15位计算机科学家
    浏览器首页被改为2345之解决方法
    linux命令缩写及全称
  • 原文地址:https://www.cnblogs.com/CuteNet/p/1334700.html
Copyright © 2020-2023  润新知