最近在耍iocp,也在网上看了不少例子,但却基本没看到使用WSASend群发的例子

最多只是使用WSASend将数据回传,而这个功能相对比较简单,只要学会使用WSARecv

回传则比较容易实现,而广播则较难。

一开始我采用的是send将数据群发(广播),这样不需要使用重叠I/O,也较容易的实现了功能,

但没成功使用WSASend群发消息,心里总有点不舒服,于是慢慢琢磨,最后终于实现了简单的群发功能

但是代码中使用了较多锁,这大大降低了运行效率,感兴趣的朋友可以自己优化。

大体框架跟网上的代码差不多,只是要注意几个细节。下面就一一阐述下。(代码太多,只贴关键代码,其它省略号代替)

定义变量:

accept客户端后,将socket与分配的内存保存

...........................

工作线程中:

if(RECV_MSG==pIoData->operationType)

.....

这里PostQueuedCompletionStatus至关重要!!

else if(SEND_MSG==pIoData->operationType)

.....

工程下载地址(工程比较乱,将就看,发现错误,请指出,感激不尽):

http://download.csdn.net/detail/woshiyuanlei/8641447

iocp(完成端口)采用WSARecv WSASend处理数据,WSASend群发(广播)消息相关推荐

  1. 高级性能服务器编程模型【IOCP完成端口】开发实现【二】

    因为需要参考各种资料,所以还是需要一些时间才能够做好的. 而且在开发中,还会面对一些不得不仔细去解决的问题. 我打算尽量从Win32API的基础上面进行开发,能够不使用Delphi封装的类就不用,任何 ...

  2. 网络端口采用了1000M速率时候出现网络通信丢包+IDC机房托管服务器之间通信不畅...

    网络端口采用了1000M速率时候出现网络通信丢包+IDC机房托管服务器之间通信不畅 网络故障: 交换机端口1000M,网卡也是1000M,网卡配置正常.ping时候间隔丢包. 表现为网络通信丢包,并且 ...

  3. Android学习笔记---26_采用JSON格式返回数据给资讯客户端,效率上要高于xml文件解析和传输

    2013-03-22 26_采用JSON格式返回数据给资讯客户端 ---------------------------------------- 1.因为在android中,使用xml格式传输数据的 ...

  4. Android学习笔记---20_采用ContentProvider对外共享数据, UriMatcher类使用介绍 ,ContentUris类使用介绍,使用ContentResolver操作Conte

    20_采用ContentProvider对外共享数据 ------------------------------------------ 1.比如通讯录,就是通过ContentProvider,实现 ...

  5. wireshark抓组播数据_捕获广播或多播地址数据MAC地址数据端口应用程序数据Wireshark网络分析实例集锦大学霸...

    捕获广播或多播地址数据MAC地址数据端口应用程序数据Wireshark网络分析实例集锦大学霸 Wireshark网络分析实例集锦大学霸 3.8.3  捕获广播或多播地址数据广播地址就是当IP地址的网络 ...

  6. 在微信菜单中采用重定向获取用户数据

     C#开发微信门户及应用(14)-在微信菜单中采用重定向获取用户数据 我曾经在系列文章中的<C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍>中介绍了微信菜单里面的重定向操 ...

  7. 【2016年第4期】大数据应用系统的消息驱动架构

    贵芳1,李廉1,杨静1,武永卫2 1.合肥工业大学计算机与信息学院,安徽 合肥 230009: 2.清华大学计算机科学与技术系,北京 100084 摘要:基于消息驱动框架的软件开发成为大数据应用系统的 ...

  8. 独家 | 2017云栖大会放出哪些数据科学界的利好消息?

    最近,科技界可谓盛事不断.继华为全联接大会.苹果秋季发布会.谷歌新品布会之后,由阿里巴巴主办的云栖大会在杭州西湖区云栖小镇正式拉开大幕.包括中国唯一的图灵奖获得者姚期智院士.中国量子力学第一人潘建伟院 ...

  9. SpringCloud采用Jackson序列化统一响应不正当的消息转换器导致的异常问题

    SpringCloud采用Jackson序列化统一响应不正当的消息转换器导致的异常问题 环境说明 org.springframework.cloud.spring-cloud-dependencies ...

最新文章

  1. java中final class的一点思考
  2. dommel mysql_.Net Core AA.FrameWork应用框架介绍
  3. 虚拟主机众多用途你心仪哪一项?
  4. MNMBottomPullToRefresh
  5. 使用Charles抓包
  6. Color Tint
  7. mysql 迁移 nosql_从关系型Mysql到Nosql HBase的迁移实践
  8. bash脚本创建变量_创建一个Bash脚本模板
  9. 一本通1623Sherlock and His Girlfriend
  10. laravel本地项目上传服务器,laravel 上传本地文件到服务器
  11. HDU4282 A very hard mathematic problem(二分)
  12. luac 格式分析与反编译
  13. matlab页面背景颜色改变为黑底白字
  14. E盾网络验证企业版个人版离线版对接好的自绘界面4加密防破解易语言源码加密
  15. 期货大佬给交易者的交易箴言。
  16. 日志文件写入失败(permission denied)
  17. Neuroink的8个疯狂梦想
  18. 第03课:如何学习“机器学习”
  19. 冒泡排序算法,C语言冒泡排序算法详解
  20. 【开发工具】【objdump】反汇编工具objdump的使用

热门文章

  1. 《Linux就那么学》虚拟机安装配置及系统和配置的全过程
  2. 维吉尼亚密码 ctf
  3. windows查看服务器启动日志文件,windows服务器日志查看工具
  4. MathType Commands for Microsoft Word ErrorXThe MathType commands could not communicate with MathType
  5. windows10安装OpenFace2.2.0
  6. Twisted 框架简介
  7. 数据可视化:视觉感知与基本图表
  8. Cocos2d碰撞检测
  9. 技术专家太玄:企业数字化转型中数据底座“湖仓一体化”l 华坤道威专访
  10. 如何将dwg格式高程点转换为三维模型