想请教一下在Windows中的网络通信模式,他们的优缺各是什么.

hxzb7215191 2006-08-09 07:52:04
IOCP
重叠模式
select模式
阻塞模式

现在我在我的项目里使用了IOCP但是出了一个这样的问题。
对于单个连接,服务器的处理情况是这样的,当有很多的接收数据包的时候,大概10k/s的接收数据量。向下发送的时候速度是50k/s。过一段时间之后,投递发送的数据包,在完成端口工作线程里将没有回调。当把测试的客户端程序中的发送线程关闭之后,将会看到完成端口的工作线程会回调,而且是接收很多的以前投递的发送数据包的完成事件。我不知道是不是我使用的时候有一些问题。大家有没有遇到过这样的问题。

我有一些朋友说,对于这样的情况,使用IOCP是一种不太好的方案,因为连接数不多,发送的数据包的大小不太大。IOCP方式使用在这一种场景下面根本就没有什么优势可言。使用阻塞的方式将会更加的高效。
以前想起来,IOCP是一个万能的解决方案,其实不是这样。

现在到是感觉到这一些模式的确没有做过一次考量,有经验的朋友能不能讲讲这几种模式下,到底哪一种模式有什么优点,使用在什么场景下会比较的好,比较的合适。


...全文
220 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
healer_kx 2006-08-10
  • 打赏
  • 举报
回复
看Windows网络编程, 这种东西不好说清.
反正windows下别怎么用select就行了.
客户端就异步事件的那两种

服务器就重叠IO的那两种.

18,356

社区成员

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

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