免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5937 | 回复: 9

请推荐Linux下网络开发的类库 [复制链接]

论坛徽章:
0
发表于 2009-07-23 12:15 |显示全部楼层
现在需要在Linux平台做网络开发,本打算用boost.asio,但上网搜了搜说它效率不爽,对ACE不太了解,请有经验的指个方向。

谢谢!

论坛徽章:
0
发表于 2009-07-23 13:10 |显示全部楼层
PoCo

论坛徽章:
0
发表于 2009-07-23 13:51 |显示全部楼层
poco --The C++ Portable Components

很小很强大,用得多吗?



[ 本帖最后由 kytexzy 于 2009-7-23 14:05 编辑 ]

论坛徽章:
0
发表于 2009-07-23 13:56 |显示全部楼层
原帖由 kytexzy 于 2009-7-23 12:15 发表
现在需要在Linux平台做网络开发,本打算用boost.asio,但上网搜了搜说它效率不爽,对ACE不太了解,请有经验的指个方向。

谢谢!



哦?哪篇文章?I want to see:)
因为原来看boost的文档,说它的asio是面对以千为数量级的连接的~~~
不知道现在怎样宣称了~~~~

论坛徽章:
0
发表于 2009-07-23 14:23 |显示全部楼层
POCO的I/O设计似乎是使用Reactor模式,不知道它的效率比Boos.Asio中的Proactor模式的异步I/O高还是低哟?

论坛徽章:
0
发表于 2009-07-23 15:35 |显示全部楼层
asio处理高并发的效率还可以。 单连接吞吐稍微弱点。  如果选用, 最好封装好, 别让boost代码吞噬你的代码, 那样最后不可收拾。 呵呵。


asio在windows下效率是最好的。 基本接近自己在iocp上开发的效率。 在linux下, 他默认选用epoll, 但中间为了做了层stream cache, 效率稍有损失。 而且他的epoll规则用的不
太合理, 可以自己修改他的代码, 达到自己的需求。

在freebsd下, 他默认是select的, 要自己修改他的代码条件编译, 才可以支持kqueue,

似乎boost社区跟freebsd那帮人有愁, 呵呵, 他们的主测试平台也不支持freebsd. 却支持apple的大部分bsd kernel 系统。

[ 本帖最后由 hlxxxx 于 2009-7-23 15:38 编辑 ]

论坛徽章:
0
发表于 2009-07-23 16:49 |显示全部楼层
那参考一下我签名的项目,哈哈~~~

论坛徽章:
0
发表于 2009-07-23 16:52 |显示全部楼层
http://libasdl.sourceforge.net
好倒是好,我觉得Boost和PoCo更好些,

…………

论坛徽章:
0
发表于 2009-07-23 17:12 |显示全部楼层
极力推荐网络通信中间件ICE!

论坛徽章:
0
发表于 2009-07-23 23:56 |显示全部楼层
ICE是远程对象的封装
ACE是通讯(如SOCKET)的封装

ICE侧重于远程RPC解决方案,而ACE是通用网络编程框架。
在应用层面上,ACE所处位置比ICE要低。

ICE是与CORBA,.NET Remoting,Web Service同层次的东西,ACE是个网络编程库,准确的说是个C++对Socket网络操作的封装.

回过来说 ICE,虽然我很欣赏他,但是前几天一个在大型分布式开发领域很有经验的前辈说,跟ACE 相比,这个东西太高层了,真正开发超大规模、超高性能应用的时候,还是得ACE上。再不然就直接用C。

不过ICE用C++写后台应该比Java高效多了。

ICE是好东西啊!



[ 本帖最后由 kytexzy 于 2009-7-23 23:58 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP