免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: yang_crystal
打印 上一主题 下一主题

大家写网络通信时候都是直接简单封装一下API啊还是用ACE、asio等这些框架啊 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-07-02 10:45 |只看该作者
mediastream的话, 如果是标准的h323. sip 之类的, 一般协议栈有自己的网络,

如果是自己做, 通用的是用udp上做封装, 直接在socket上自己封一套或者用libevent就可以了, 没必要用c++,  因为一般这种程序逻辑都很简单。

http://libio.googlecode.com/svn/trunk/

我06年的时候,用上面的项目做过sip, stun, turn, rtp, rtsp, tcp/tls-tunnel等, 因为当时我门client是embeded的,所以我做了一个最简单的select/poll的版本,

同时还对接了一个libevent的接口, 给server用。

论坛徽章:
0
12 [报告]
发表于 2009-07-02 11:04 |只看该作者
原帖由 hellioncu 于 2009-7-2 10:36 发表
喜欢自己写,也没多少复杂,用封装的毕竟有所限制


恩,一般自己封装。
用现成的就会带有那些库自身的限制。如果要去改那些库,一般来说比较麻烦代价也比较大;自己封装的话,可定制和可改动性就好得多。
但就如10楼所说,如果上项目的话,很多客户都喜欢听到ACE啊,这些响当当的名字

PS 潜规则一条
很多公司都喜欢用ACE这些有名的东西,因为这些很成熟,有人维护,不喜欢自己员工做的东西,因为不信任员工的设计和工作质量(那你还雇我们来做什么?这个不信任,那其他的就敢信任了?真是~~~),或者不想多付出成本去维护能免费使用的类似的东西(CXXOO们很喜欢这一点 )。所以往往被这些大东西的限制所制约的时候,比如学习成本,修改成本,性能瓶颈等,只好自己安慰自己,蒙上自己的眼睛,堵上自己的耳朵在一旁YY和ZW。

[ 本帖最后由 swxlion 于 2009-7-2 11:06 编辑 ]

论坛徽章:
0
13 [报告]
发表于 2009-07-02 11:21 |只看该作者
这几天闲, 多灌几句。

其实网络部分, 我基本这样看, 一切根据应用来, 如果是短连接的应用, 例如web应用, 最好的解决方法应该就是apache那套了, 用连接pool.

对于长连接的应用, 我不建议用多thread搞, 网络部分一个thread + anyc io  完全够, 应用逻辑部分如果足够复杂, 用多thread, 但一般我喜欢做多process的, 不喜欢做多thread的。

因为代码维护成本高, 调试困难, 增加程序出问题的机会, 除非应用不用不行, 才会选择多thread开发,

总之一句话, 一切设计源与需求, 尽量把复杂的问题简单化, 而不是把简单的问题复杂化。

论坛徽章:
1
2017金鸡报晓
日期:2017-01-10 15:19:56
14 [报告]
发表于 2009-07-02 11:24 |只看该作者
ACE晦涩难懂!

论坛徽章:
0
15 [报告]
发表于 2009-07-02 14:13 |只看该作者

回复 #12 swxlion 的帖子

这还得听名字啊

论坛徽章:
0
16 [报告]
发表于 2009-07-02 15:24 |只看该作者
关注!

论坛徽章:
0
17 [报告]
发表于 2009-07-02 15:55 |只看该作者
原帖由 aaaaa5aa 于 2009-7-2 14:13 发表
这还得听名字啊


对啊,很多老大都是不懂技术的。所以很多销售和忽悠er就从老大下手。
我一朋友家公司,老板被忽悠了,让我那朋友给一个公司用的安全软件(文件加密啊什么的,国内公司)作评估。结果我们半小时就将那东西玩废了,然后他去找总监汇报说那东西其实就和绿坝一样,然后总监显得很苦恼,说,老板已经买了一整套了~~~

然后就我个人经验而言,很多大大不喜欢问下属,因为这样会显得自己无知,同时也怕被下属忽悠到与下属有利的方向,所以一般喜欢找朋友出主意。而生意场上的大大门,自然朋友多为销售出生的人而非技术出生者。而非技术人员,本身就深入不够,自然只能拿自己记得名字的东西说话。那结果也就自然是名字响的那些了。

还记得马太效应么?

论坛徽章:
0
18 [报告]
发表于 2009-07-02 16:12 |只看该作者
原帖由 hlxxxx 于 2009-7-2 10:45 发表
mediastream的话, 如果是标准的h323. sip 之类的, 一般协议栈有自己的网络,

如果是自己做, 通用的是用udp上做封装, 直接在socket上自己封一套或者用libevent就可以了, 没必要用c++,  因为一般这种程序 ...

这么强,把这些全部实现了一遍?用个几个人月?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP