IOCP VS UDP异步通信。 讨论

star119119 2008-12-11 05:23:04
最近看了IOCP的使用。

同时存在很多问题,主难以理解的就是

IOCP是TCP通信的一个异步处理。那么,UDP的异步 实现相对来说不是更加容易和自由么?

谁能讲解一下 IOCP模式相比 UDP异步实现的优势呢?
...全文
496 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiping881113 2010-05-15
  • 打赏
  • 举报
回复
学习!!!1
jacklzw88 2008-12-16
  • 打赏
  • 举报
回复
tcp+udp
csgdseed 2008-12-16
  • 打赏
  • 举报
回复
学习
DentistryDoctor 2008-12-15
  • 打赏
  • 举报
回复
Linux下可以用epoll模型。
oyljerry 2008-12-12
  • 打赏
  • 举报
回复
http://nicedayyep.javaeye.com/blog/89776
star119119 2008-12-12
  • 打赏
  • 举报
回复
哦,明白了。

网络模型的话。IOCP是近来比较流行的。

那么在 LINUX下游没有好的解决方案。WINDOWS解决大量客户请求的显然IOCP是最理想的。

那么LINUX下呢?
cnzdgs 2008-12-12
  • 打赏
  • 举报
回复
用TCP比较省事一些,用UDP如果设计合理,在某些情况下效率会比TCP高。
oyljerry 2008-12-12
  • 打赏
  • 举报
回复
本质区别还是TCP和UDP,对于通信要求的不同,采用不同的协议
id27145 2008-12-12
  • 打赏
  • 举报
回复
tcp可靠udp不可靠 协议不同
iocp只是提高了性能 与udp没什么可比性
通信软件 文件之类的要求数据完整性的用tcp 消息之类的不重要的数据用udp
CodeProject-Jerry 2008-12-12
  • 打赏
  • 举报
回复
IOCP和UDP 是2个不同类的东西,怎么比较啊?

要么比较网络协议 TCP vs UDP

要么比较网络模型 IOCP vs other

实际上. IOCP也可以使用UDP的


如果是对实时性要求高, 需要实现视频会议之类,这种情况下可以选择UDP。
如果选择TCP,会导致:在网络环境很差的情况下,丢包--》滑动窗口变小--》阻塞--》实时性跟不上

但选择TCP的代价是高昂的(较之UDP),毕竟要维护一个链接成本。

但UDP的可靠性问题必须解决, 可以参考RUDP设计
CodeProject-Jerry 2008-12-12
  • 打赏
  • 举报
回复
楼主,这个问题好像不是很好回答, 2个不同类概率进行比较。

要么比较TCP与UDP

要么比较IOCP与其它类型的网络流式模型。
UDP也可以使用IOCP的

如果是对实时性要求高的话,最好选择UDP。特别是视频会议之类的。
因为采用TCP, 网络丢包会导致滑动窗口变小,最终导致阻塞。 实时性跟不上要求。

但UDP的可靠性是必须考虑的。 如果你要传递可靠信息。 可以参考RUDP实现, 或者TCP
oyljerry 2008-12-12
  • 打赏
  • 举报
回复
http://www.codeproject.com/internet/iocp-multicast-udp.asp?print=true
ivan_08 2008-12-12
  • 打赏
  • 举报
回复
关注
star119119 2008-12-12
  • 打赏
  • 举报
回复
IOCP是没有必要使用UDP。

UDP本来就支持异步通信,事件监听。所以根本没必要使用IOCP

我的疑问是:IOCP都是在 TCP协议下的 异步实现。他的好处就是 减少SOCKET堵塞。以提高SOCKET的并行。

那么通过UDP协议也可以实现这个目的从而达到 提高SOCKET并行处理的性能。

那么 如果 举例 1000客户联机的 情况下。一个简单的通信软件,功能包括发送文件,视频,文字。

是采用基于IOCP的TCP协议好呢?还是UDP的异步模式?

以上是指服务器端。

可能之前我没表达清楚。
cnzdgs 2008-12-11
  • 打赏
  • 举报
回复
IOCP和UDP不是互斥的。
DentistryDoctor 2008-12-11
  • 打赏
  • 举报
回复
UDP没有必要用IOCP吧?
冈仁 2008-12-11
  • 打赏
  • 举报
回复
不懂
Leo_red 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 blackcat242 的回复:]
异步操作和udp有什么关系?这两个如何比?
[/Quote]

同意,完全两回事啊。
IOCP更像连接池和线程池,UDP是协议的说。
ivan_08 2008-12-11
  • 打赏
  • 举报
回复
不会啊,友情帮顶
blackcat242 2008-12-11
  • 打赏
  • 举报
回复
异步操作和udp有什么关系?这两个如何比?

18,356

社区成员

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

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