zoukankan      html  css  js  c++  java
  • [原创]采用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


  • 相关阅读:
    HDU2586 How far away?(tarjan的LCA)
    You Raise Me Up
    POJ2891 Strange Way to Express Integers(中国剩余定理)
    POJ2142 The Balance(扩展欧几里得)
    HDU 1166模仿大牛写的线段树
    NetWord Dinic
    HDU 1754 线段树裸题
    hdu1394 Minimum Inversion Number
    hdu2795 Billboard
    【完全版】线段树
  • 原文地址:https://www.cnblogs.com/CuteNet/p/1334700.html
Copyright © 2011-2022 走看看