社区
网络编程
帖子详情
WSAEventSelect和select,我们应该选择谁?!
shiyongfan
2005-04-05 02:49:54
使用WINDOWS SOCKET 2 API 写网络程序时,WSAEventSelect和select哪个是更好的解决方案?
他们在不同的情况下有什么样的性能上的差别?
欢迎大家讨论!
投入重分,希望我和所有未知者能得到帮助!
...全文
339
15
打赏
收藏
WSAEventSelect和select,我们应该选择谁?!
使用WINDOWS SOCKET 2 API 写网络程序时,WSAEventSelect和select哪个是更好的解决方案? 他们在不同的情况下有什么样的性能上的差别? 欢迎大家讨论! 投入重分,希望我和所有未知者能得到帮助!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunhuiNO1
2005-04-05
打赏
举报
回复
建议使用WSAEventSelect效率很高,简单使用很方便
Practise_Think
2005-04-05
打赏
举报
回复
WSAEventSelect()很方便,其用到的WaitForSingleObject()占用资源很少!!
shiyongfan
2005-04-05
打赏
举报
回复
受不了,跑我这儿做广告来了!!!
nuaawenlin
2005-04-05
打赏
举报
回复
使用WSAEventSelect在Windows上更好一些
ghost8367
2005-04-05
打赏
举报
回复
select可以比较容易的移植到LINUX上吧!~
DentistryDoctor
2005-04-05
打赏
举报
回复
建议阅读<Windows网络编程>
在WSAEventSelect与select之间,建议使用WSAEventSelect.
shiyongfan
2005-04-05
打赏
举报
回复
没有实践过,只是想到了下面的问题:
在大多数时候,socket是可写的,那么,WSAWaitForMultipleEvents(...,FD_WRITE)
是不是总是立刻返回啊?那CPU占用率就要100%了吧。
如果上面的猜想成立,我们在程序中是不是要加另外的一些控制?比如再等待由我们
控制的另外一个事件对象。
其实,试试就行了,可惜我现在没有时间建立程序框架。
shiyongfan
2005-04-05
打赏
举报
回复
steedhorse(晨星):
如果要用WSA系列的,那就必须全部使用WSA系列的函数,尽量别混着用。
我看MSDN在说明WSAEventSelect的过程中,遇到接受发送数据都是用的recv和send。
能说说你的“尽量别混着用”的理由吗?
main90(小马) :
完成端口应该用在响应大规模连接请求上吧
或者说,我的客户端SOCKET的实现没有必要使用完成端口技术吧。
VCSQLVB
2005-04-05
打赏
举报
回复
建议用WSAEventSelect
adamx
2005-04-05
打赏
举报
回复
你既然是用 WINDOWS SOCKET 2 API 那就用 WSAEventSelect 吧。
性能上应该没太大差距。
从工能上 考虑WSAEventSelect好用些。
main90
2005-04-05
打赏
举报
回复
换完成端口吧!
oyljerry
2005-04-05
打赏
举报
回复
WSAEventSelect用起来比较方便,功能也不错
signoft
2005-04-05
打赏
举报
回复
请看这篇文章
http://blog.blogchina.com/article_99373.511644.html
晨星
2005-04-05
打赏
举报
回复
WSAEventSelect应该是对select的封装,实质是一样的,但用起来会方便些。
不过如果要用WSA系列的,那就必须全部使用WSA系列的函数,尽量别混着用。
W
SAE
vent
Select
模型基础 VS2010 、C
W
SAE
vent
Select
模型基础 客户端向服务器发送消息 VS2010 C
windows下多路复用IO(
select
,WSAAsync
Select
,W
SAE
vent
Select
)
windows下多路复用IO(
select
,WSAAsync
Select
,W
SAE
vent
Select
)
一个windows下基于
select
多路分离器的Reactor模型
1.封装了windows下同步变量,包括实现condition,monitor.本来想封装线程,想着还要封装类似boost::bind或者signal/solt的,放弃了. 2.该Reactor模型不排除在同一个socket上投递多个e
vent
handler.一个e
vent
handler只针对一个socket事件处理(可读,可写.当然事件可以用掩码,本例没有采用这种做法.) 3.采用VS2005编译.工程携带了一个测试server和一个只用于发送数据的client,一个同时收发的client
介绍当前Windows支持的各种Socket I/O模型
介绍当前Windows支持的各种Socket I/O模型
select
WSAAsync
Select
W
SAE
vent
Select
Overlapped I/O(重叠IO模型),IOCP模型,有代码详细分析过程
indows操作的socket操作总结
Windows操作系统提供了
选择
(
Select
)、异步
选择
(WSAAsync
Select
)、事件
选择
(W
SAE
vent
Select
)、重叠I/O(Overlapped I/O)和完成端
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章