社区
网络编程
帖子详情
如何iocp同时发送上千条tcp
yaya001
2007-04-14 10:41:17
想用iocp实现同时发送上千个tcp包(不同ip)的功能,看了一些例子都没有说到主动发送tcp包,都是建立一个socket监听某个端口,接收clients发来的包。
如果想要实现同时主动发送上千个tcp包(向不同的ip),是不是要加一个线程专门调用wsasend来发送?怎么写才能实现同时主动大量发?
...全文
433
12
打赏
收藏
如何iocp同时发送上千条tcp
想用iocp实现同时发送上千个tcp包(不同ip)的功能,看了一些例子都没有说到主动发送tcp包,都是建立一个socket监听某个端口,接收clients发来的包。 如果想要实现同时主动发送上千个tcp包(向不同的ip),是不是要加一个线程专门调用wsasend来发送?怎么写才能实现同时主动大量发?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fox1999
2007-04-16
打赏
举报
回复
完成端口你可以查询读完成,也可以查询写完成状态的。
用了 WSASend 后,发送完它会通知你的
不过楼主的问题好象不是问这个。
你是说主动发送数据包,你把你的客户端连接用个
for(i=0;i<client_count; i++) {
send(); //WSASend
}
这样不就可以了?
难道你的服务器不保存客户端连接句柄的呀
fox1999
2007-04-16
打赏
举报
回复
用完成端口吧,可以开上千个线程,调度线程即可
---------------
哈哈,完成端口可没有叫你开上千个线程
Hylas
2007-04-16
打赏
举报
回复
当然需要Client连你了。 它不连,你根本无法发 。
发送同一个内容时候, 上千个socket也要用同一个内存,这样就不会内存复制了。 控制好释放。
其它的,好象不存在什么问题吧 。。
通信 和 work thread 不需要那么多线程, 5,6个就差不多了,
开上千个线程序, 有点扯
mimong_lin
2007-04-15
打赏
举报
回复
接收只是个例子啊,你可以在accept客户端后,不用wsarecv,而是用wsasend了。而且,你完全可以在想要的地方调用wsasend的。
CathySun118
2007-04-15
打赏
举报
回复
用完成端口吧,可以开上千个线程,调度线程即可
yaya001
2007-04-15
打赏
举报
回复
那检测客户连接(connect)是不是也不需要加一个类似listen的线程呐?
如果我想要实现同时主动发送上千个tcp包(向不同的ip),并监听返回的包。具体的思路应该是怎么样的,能具体说说不?
呵呵
yaya001
2007-04-15
打赏
举报
回复
就是打算用完成端口呐,呵呵,有没有高人详细来说说怎么实现?
如果开一个线程来主动发tcp包的话,连接是不是不能用wsaconnect(iocp不支持吧?)
呐应该怎么实现呢?
恳请高人指点
龙凤呈祥焱
2007-04-15
打赏
举报
回复
IOCP只是用来进行异步处理的,至于你想发送异步还是接收异步没有什么限制.
检测到客户连接后直接发送查询信息就行了.
yaya001
2007-04-15
打赏
举报
回复
to unsigned:
你所说的队列加线程池的方案能简单介绍下,或提供一些参考资料或网页。
to mimong_lin:
我要实现的是先发查询,才接收client的回复。
僵哥
2007-04-14
打赏
举报
回复
IOCP是一种基于服务器的设计解决方案,而不是基于客户端的,按楼主的要求看,应该说采用队列加线程池还是可行的。
yaya002
2007-04-14
打赏
举报
回复
用iocp来实现的话,还需要启动1000个子线程??这是不是不符合iocp的思路呐?
neil_cn
2007-04-14
打赏
举报
回复
启动1000个子线程,占用1000个socket资源,连接1000个目标地址,做1000个线程的管理及同步。。。
这个需求有点不切实际哦
基于SocketAsyncEventArgs(
IOC
P)实现的高并发
TCP
客户端
本文介绍了一种基于SocketAsyncEventArgs(
IOC
P)的高并发
TCP
客户端设计方法,通过封装SocketClient类,实现数千台设备向服务器单向
发送
信息的功能。文章详细讲解了客户端连接、信息
发送
与接收的实现过程,以及如何通过线程池模拟多客户端并发测试。
Windows下的
IOC
P模型(二):
IOC
P使用示例
本文介绍如何在Windows下利用
IOC
P模型设计一个支持
tcp
、udp、广播和udp组播的网络通信底层模块。通过多个
IOC
P实例区分处理不同通信协议的事件,以确保性能和正确性。详细探讨了
TCP
单线程处理防止数据乱序,以及UDP和广播的多线程优化策略,并提供了模块实现的源码链接。
易语言
TCP
-
IOC
P连接源码解析与应用
本文深入分析易语言中基于
TCP
协议的网络通信,着重介绍
IOC
P模型以提升并发处理效率。阐述了易语言优势、
TCP
协议基础、
IOC
P工作原理,探讨高并发编程技巧、事件驱动编程风格,解析“
TCP
IOC
P.e”源码,还提及网络异常处理机制,助于提升网络编程技能。
精通
IOC
P服务器开发:
TCP
/UDP与应用层设计
本文介绍在Windows系统利用I/O完成端口(
IOC
P)进行
TCP
和UDP服务器开发。阐述了
IOC
P机制、
TCP
与UDP服务器开发流程及要点,探讨请求 - 响应、状态机等应用层设计模式,还介绍了hp - socket - 3.0.1库,可简化开发过程。
重构高性能
TCP
服务器中的
IOC
P类
本文围绕
IOC
P类展开,先介绍其模型原理,接着阐述简化和优化类设计的策略,包括重构步骤与类结构。还讲述接口抽象复杂功能及模块化应用,说明其适用于高性能
TCP
服务器开发,分析性能瓶颈与调优技巧,最后探讨高并发处理挑战及优化机制,提供代码分析与改进建议。
网络编程
18,357
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章