WSAEventSelect和select,我们应该选择谁?!

shiyongfan 2005-04-05 02:49:54
使用WINDOWS SOCKET 2 API 写网络程序时,WSAEventSelect和select哪个是更好的解决方案?
他们在不同的情况下有什么样的性能上的差别?
欢迎大家讨论!
投入重分,希望我和所有未知者能得到帮助!
...全文
339 15 打赏 收藏 转发到动态 举报
写回复
用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系列的函数,尽量别混着用。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧