整理:不用ACE你不知道ACE有多烂,给饱受ACE折磨的弟兄们散分了。

 

不用ACE你不知道ACE有多烂,给饱受ACE折磨的弟兄们散分了。
楼主vcclass(黑山老妖)2006-11-07 15:41:41 在 专题开发/技术/项目 / 网络通信 提问

以前没有用过ACE,一直对ACE有非常崇高的敬意,一个网络的跨平台库,应该非常简单,非常不错。可以提供开发效率。今有项目开发,领导让用ACE,非常高兴,有机会练手了,抱着向ACE学习的精神研究ACE,   虽然我精通网络通信编程,但是一直感觉自己的水平不高,ACE一定有很多只得我学习的地方。实在是机会难得。 
  
  ACE总共有9万行代码,其实实现一个高效率的网络底层,跨LINUX,WINDOWS,FREEBSD平台不过4K行代码。ACE跨了所有的平台,也用不了9W行呀,不过他有自己的容器,线程池等的处理。 
  
  研究了一周,越是研究,越是迷惑。本来一个很简单的问题,在ACE里你得了解他的一堆的概念,用法。经过实际试验,我们项目里用到的代码不过ACE的两个封装类而已,经过进入ACE代码调试,发现函数调用函数,什么工作都没有做,最后调用了一个API而已。其效率只低下,让人发指。最困惑的是我new出来的对象,他给我释放了。ACE号称跨平台,实在有辱跨平台三个字,在linux和Win下他用的是不同的模型。的对他编写不同的代码来实现。 
  
  ACE的容器和STL的不太兼容。实在是垃圾一堆。 
  ACE是忽悠中国人的玩意。原因是他要赚钱,只有搞得复杂,让人看不懂,用不了,他才能赚钱呀。 
  我们大家一直努力把复杂的问题简单话,ACE是把简单的问题复杂化了。 
  
  ACE是我见到过的最垃圾的代码,最没有价值的代码。最不容易使用的代码。 
  ACE的作者就不知道什么是封装。 
  
  问题点数:70、回复次数:81Top
1 楼vividw(vividw)回复于 2006-11-07 17:33:57 得分 0

没看过.....Top
2 楼vcclass(黑山老妖)回复于 2006-11-07 18:44:54 得分 0

其实用别人写的库的目的就是提高开发效率,并且能够得到一个稳定的系统,减少测试时间等,而用ACE   恰恰适得其反。不但没有提高开发效率,反而为了用它得学习他的一堆概念,设计模式等。一步消息会造成内存泄漏,服务器崩溃等。大家可以搜索ACE里的代码,delete   this的代码一堆。但是这个对象是外面new的。不解ACE的作者这个高人是怎么写的。Top
3 楼wqf363(denny)回复于 2006-11-07 20:54:00 得分 0

虽然没用过,但有听说这个感觉,接分Top
4 楼lzd(活着便精彩)回复于 2006-11-07 21:25:53 得分 0

不可否认楼主的反应太偏激了。 
  
  要用好ACE确实不简单。。但是不证明ACE就不好。。入门难。。Top
5 楼tsbob(不想笑)回复于 2006-11-08 00:07:19 得分 0

部分赞同楼主的观点,ACE太庞大了,而且非常臃肿,但是ACE确实给出了网络服务器的完整框架。即便你自己写server程序,到头来,你也会发现基本结构和ACE完全一样,ACE作者网站上那系列Paper确实非常好的文档,清楚的解释了网络程序需要处理的各种细节和关键技术问题,任何一个准备写网络程序的程序员,都要认真研读Top
6 楼msupdef()回复于 2006-11-08 13:10:55 得分 0

我觉得写个网络服务器模型实在是很简单,就那么几千行代码,值得用个烂ACE吗,本来学api就够累了,还不嫌麻烦,还要去学个垃圾东西,受罪是你们活该啊。 
  Top
7 楼ensoniq()回复于 2006-11-08 14:11:24 得分 0

关注一下。 
  
  个人经验:堆分配是所有大型项目的噩梦,delete   this这种如果出现在代码的核心部分,只能证明这个代码根本就禁不起实际的考验。Top
8 楼Eddie005(♂) №.零零伍 (♂)回复于 2006-11-09 09:04:44 得分 0

顶顶~Top
9 楼xl5338870(xlix)回复于 2006-11-09 18:21:57 得分 0

呵呵,有点偏激,其实里面很多好思想,通过研究ace的模式来学习Top
10 楼acejoy(http://www.acejoy.com/ 专业ACE网络编程开发论坛)回复于 2006-11-10 17:51:50 得分 0

不用这么偏激,学会了ACE,你就离不开了,就知道它的优点了。如果像你说的那么糟糕,做ACE的2000多个人,都是傻子吧? 
  
  
  ────────────────────── 
  国内专业的ACE网络编程、开发论坛开通: 
  http://www.acejoy.com/   
  涉及ACE使用和开发,中间件、服务器端软件的设计,P2P技术, 
  socket网络编程、应用开发等内容。 
  欢迎加入,大家一起交流、学习成长! 
  Top
11 楼vcclass(黑山老妖)回复于 2006-11-11 15:08:12 得分 0

我知道的用ACE的人都是先前没有用过API做网络编程的人。如果你用API实实际际的写过项目,你是不会感觉ACE好的、。Top
12 楼alec626(月吻长河Blog:spaces.msn.com/filebase)回复于 2006-11-11 18:34:03 得分 0

我就是习惯了socket   API的人。 
  不过还是怀着崇高的敬仰买了两本《C++网络编程》<上,下> 
  感觉大失所望 
  有那个精力去把ACE弄透彻自己早完成项目了 
  ACE的易用性还是太差了Top
13 楼iisbsd(墙头草,和稀泥)回复于 2006-11-13 00:41:10 得分 0

有没有用过ASIO?是Boost的。Top
14 楼liaoyong2(ly)回复于 2006-11-13 10:45:49 得分 0

唉,,,,,一句话,,不知道用api怎么实现跨平台.. 
  
  难道用socket1.1吗 
  
  Top
15 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2006-11-14 10:24:39 得分 0

我也被ACE搞崩溃了 
  
  现在宁愿去研究RTL8139控制器 
  硬件才是最简洁最本质的Top
16 楼captain_x(captain)回复于 2006-11-15 16:30:33 得分 0

《c++网络编程》已经解释了所有使用ace而不用api来开发的理由,如果LZ自己没有理解,那是LZ你自己的问题,请不要拿你自己的问题归罪到ace头上。 
  ace的跨平台和java是不一样的,如果你想要效率,那当然在不同平台上会有不同的选择,难道大家所指责的java的效率低下不是因为它在所有平台的代码都一样的原因吗?Top
17 楼wqf363(denny)回复于 2006-11-15 19:42:27 得分 0

markTop
18 楼HuangRG(.....)回复于 2006-11-17 15:37:57 得分 0

看过ACE,没有在实际开发中使用过。 
  楼主是不是偏激了一些了?ACE庞大应该是有原因的,它不仅仅是一个Socket库,而是具备了你想要所有东西。几年前看过ACE,现在记忆有点模糊。它包括: 
  1.   进程管理 
          创建,同步,IPC,IPC里还有特定系统的东西:比如有Message   Queue,FIFO等。 
  2.   线程管理 
        thread   pool,   同步等。 
  3.   事件,信号,定时器管理 
  4.   一些容器 
        这个应该有原因,ACE开始开发的时候,标准应该没有出来吧?所以它有一套自己的东西? 
  5.   Socket有关的东西 
  我只记得这些了,一般情况下,用ACE就可以开发出支持ACE所支持的那些OS了? 
  但功能强大的东西,学习成本肯定也高。楼主虽然有些偏激,但支持楼主的说法。老外有时候吹NB有特定的理论和论据支持,厉害!   
  Top
19 楼HuangRG(.....)回复于 2006-11-17 15:42:07 得分 0

iisbsd(墙头草): 
  有没有用过ASIO?是Boost的。 
  本来boost有一个boost::socket,感觉蛮简洁的,好像现在停止开发了? 
  boost::asio还没有发布,但源码也看了看,复杂,真复杂。不知道,它开发这么复杂的东西是给人看的,还是用的?   
  
  感觉如果ACE分一分效果会好一些,这样在项目中只要用到须要的东西。但考虑到已经用ACE开发的项目,这是不可能的。 
    
  Top
20 楼HuangRG(.....)回复于 2006-11-17 15:59:18 得分 0

我目前也正在开发一套Socket库,目标是:易使用和高效率!   为了这两个目标,花了一些心思。1.   整个库没有虚函数性能开销; 
  2.   使用异常可以写更简洁,优美的代码,但异常也带来了运行时开销。所以我泛化了错误处理,使用者可以决定当产生错误时,库是抛出异常还是返回错误码; 
  3.   支持同步和异步两种方式,异步方式的内部实现细节是在Win32上用Completion   Port实现,在Linux2.4用Select,在Linux2.6异步IO实现。 
  4.   考虑到本人特喜欢Select,可能会单独给出一个Selector。在某种情况下,Selector是最好的选择,它让代码变得简洁,易维护,同时也有一定的效率(或者说效率存在局限性)。 
  
  这套最终提供的接口类: 
  UDP相关: 
  template   < 
          template   <class   SocketType>   class   IOModel,   
          class   ErrorHandler> 
  class   basic_datagram_socket; 
  
  TCP相关,下面的类的模板参数和上面的一个一样: 
  class   basic_acceptor_socket; 
  class   basic_connector_socket; 
  class   basic_stream_socket; 
  为了简单使用,我分别对上面的类作一些typedef. 
  另外,还有几个helper类。 
  我今天已经在sourceforge上发了申请,呵呵。 
  另外,我自己的一个高性能的一个网络Server产品的网络通信模块块也用我自己这套库。我这个通信Server其实是一个Framework,为二次开发提供了两套API来实现特定应用。   这套产品的特点是:成本低,可以支持100W甚至1000W到5000W个同时在线程的用户!! 
  Top
21 楼sduwei()回复于 2006-11-17 22:41:12 得分 0

曾经使用ACE开发过电信级的分布式网络应用。经验证明这个东西不仅仅是实验室里面的概念。它的跨平台概念同JAVA和.NET的那种虚拟机本来就不同,只能够说同楼主之前的期望有背。 
  
  认真的说,整个系统的构架是很漂亮的,作者写过很多面向对象方面的paper就是基于这个系统的勾践。但是问题是最后写系统代码的人不是高手。 
  
  Top
22 楼guileen(松风抚琴)回复于 2006-11-19 18:21:31 得分 0

楼主我支持你,接分Top
23 楼KthTes(const KthTes& rhs)回复于 2006-11-20 10:11:13 得分 0

虽然没用过ACE,但和楼主一起声讨一下这个delete   this,这句代码的Shability实在是有点高。Top
24 楼20040216(每天几行)回复于 2006-11-20 10:52:10 得分 0

自己封装吧 
  不到5千行代码,20个工作日 
  简单的东西决不用复杂的Top
25 楼lamputa_lito(lamputa)回复于 2006-11-21 21:44:16 得分 0

这么多人发表的意见,有几个是真的理解ACE的呢?你们在怀疑ACE的目标还是实现?如果是怀疑实现,你们觉得有更好的,更简洁的方法? 
  
  ========== 
  声明,本人刚看ACE的介绍,ACE确实非常庞大臃肿,但是我想ACE有很多可以学习的地方。Top
26 楼lamputa_lito(lamputa)回复于 2006-11-21 21:45:38 得分 0

你们说的几k行代码就可以写出高性能的服务器,那我想很多网络程序员都会失业了。Top
27 楼vcclass(黑山老妖)回复于 2006-11-22 18:34:11 得分 0

ACE是越用越难用呀Top
28 楼vcclass(黑山老妖)回复于 2006-11-23 09:46:37 得分 0

受到各位的批驳,我不想说什么,我是为你们好,如果你们不相信,认为ACE好,那你们就用ACE好了,ACE非常不错。用的会让你爽的。Top
29 楼vcclass(黑山老妖)回复于 2006-11-23 09:50:04 得分 0

在一些嵌入式操作系统里都可以用ACE,我不否认ACE做了很多的事情,但是ACE并不支持   freeBSD里的   kqueue模型,kqueue是公认的比LINUX下的EPOLL模型效率更高的模型,它都没有支持,实在让人不懂呀。最让人恼火的是   他会释放我   NEW   出来的东西。Top
30 楼iisbsd(墙头草,和稀泥)回复于 2006-11-23 13:43:55 得分 0

lamputa_lito(lamputa)   (   二级(初级))   信誉:97   2006-11-21   21:45:38   得分:0 
  
  你们说的几k行代码就可以写出高性能的服务器,那我想很多网络程序员都会失业了。 
  ====== 
  我当年听过最可笑的自吹是我写过几十万行代码。对不起,第一,我不记得我写过的代码行数,第二,行数多不见得就是东西好,而且通常是相反的。如果你不信的话: 
  
  不知道你听说过memcached没有,如果听说过,不知道它算不算高性能的服务器,抱歉,它只有3千行多点的代码。 
  
  apache的httpd当年只有大约6千行代码,我觉得效率还好(当然,现在httpd大很多了)。 
  
  qmail比较大,有1万6千多行代码,当然,邮件系统功能更复杂些。Top
31 楼vcclass(黑山老妖)回复于 2006-11-23 17:34:19 得分 0

iisbsd(墙头草)   :   关于   lamputa_lito(lamputa)   他所说的观点推理就是   “代码越多执行效率越高”,这明显是个悖论嘛。这会把我笑死的。 
  
  今天又继续研究ACE的代码,单步执行进去跟踪,让我我坚信ACE   是忽悠人的玩意,目的就是赚钱,很多很多的无任何用处的代码到处都是,不把人搞晕,能忽悠住人吗?     ACE_Event_Handler,这个类完全可以经过简单的处理后变成一个抽象类,但是他不是抽象类,实现的代码都是   打印出一个调试信息。ACE_Event_Handler的子类反而倒是一个抽象类。实在是垃圾呀。     
    
  Top
32 楼lamputa_lito(lamputa)回复于 2006-11-23 22:40:40 得分 0

首先我并没有说代码多的就是好的,我之所以怀疑几千行的代码可以写出一个高性能的服务器,原因是因为我认为一个好的服务器不单单是效率高,我认为一个好的服务器除了提供高效的服务,还需要有好的扩展性,可维护性和好的平台适应性。可能你认为这些只是概念上的事情,但是如果其实这些特性在这个竞争激烈,更新极快的计算机行业中,是非常必要的。 
  就拿平台适应性来说,举个例子,加入你的服务器是高度依赖windows   API的,那么好了,运行了几年,现在微软要推VISTA了,你要获得更好的支持,若干年后你必须要重写很多代码来跟着它跑。这种事情随处可见。 
  而要实现上面提出的那些目标,你不得不认真定义你的构架,抽象你的逻辑,而这些东西,无疑都会增加代码量。当然,要考虑的东西还不止这些。 
  如果你可以在几k行的代码里把这些东西都考虑进去并实现出来,那我只能是佩服加佩服。 
  ACE是庞大以致于有点臃肿,但是你没有从ACE的出发点去考虑和应用它,ACE本来就不是打算给你随便几个API就搞掂一个应用而写的,它强调的是平台适应性,效率(当然不可能跟直接的API调用的比,但是它很多很好的算法模式提供了很多优化),可维护性等。 
  这些是个人观点,希望大家可以客观讨论。 
  Top
33 楼qrlvls( 空 气 )回复于 2006-11-28 13:25:14 得分 0

基本上ACE的框架是好的,方向也是明确的 
  楼主有些过于偏激,但不可否认ACE里存在一些毫无价值的内容 
  Top
34 楼qrlvls( 空 气 )回复于 2006-11-28 13:33:09 得分 0

我认为Reactor和Acceptor的概念都是高效且可行的 
  但我在阅读《ACE》一书时,特别对“主动对象模式由   Greg   Lavender   首创。”这句话旁边加了一个批注,严重B4了这个   Greg   Lavender   ,虽然很有可能是我并没有意识到他的主动对象有多么先进,但在我意识到这一点之前,我还是要深深的B4他一次,再一次地…………Top
35 楼czylj(夭夭)回复于 2006-12-03 01:37:25 得分 0

呵呵,楼主水平不够吧,不过吹能用4000行实现一个,等你实现出来再说吧. 
  这么说吧,如果你只打用ACE的二个类,就不要用了,ACE底层的类,技术上并没有大的用处 
  它最大的价值在于集成的框架,如果学会了,可以事半功倍. 
  任务系统,框架,进程,内存池,线程,相关的东西多了去了. 
  另外,ACE是全免费的,它的钱全是国外的大公司捐的,估计楼主的钱它还看不上.Top
36 楼delphijava((好之者不如乐之者))回复于 2006-12-04 15:37:57 得分 0

如果只是TCP   UDP   .自已用C实现不就行了   。   为什么用ACE   ? 
  都少大型的程序用C实现网络接口这一快   。   也不见得他们非要用ACE不可以; 
  Top
37 楼vcnewer(磨剑)回复于 2006-12-07 14:00:31 得分 0

呵呵Top
38 楼callzjy((草魚))回复于 2006-12-07 18:31:50 得分 0

呵呵Top
39 楼baiduan(-_-化杯粪喂力量-_-)回复于 2006-12-11 11:40:56 得分 0

不会ACETop
40 楼LVOLCANO(风起)回复于 2006-12-11 14:05:35 得分 0

mark 
  Top
41 楼benjiam(今晚打老虎)回复于 2006-12-11 16:51:52 得分 0

lz   什么水平啊?   我只能说你没资格说这个话。 
  
  作者是博士,80年开始做这个,人家比你强的不是一点点。是公认的网络编程大牛。大公司也不是钱多到花不完,要捐给它。ace   很多地方优点也很明显。 
  
  但是我也要抱怨一下,复杂的结构,让我们很难驾御。我们的项目里面ace   在泄漏。目前还找不出原因,只知道吊过了ace   旧慢慢有泄漏了。到底是ace   本身   还是我们的代码有问题,不知道。旧版本的ace   没有这样的问题。 
  去group   也没办法问。代码有n多k   难到都贴上去?   
  
  
  
  
  
  
  Top
42 楼hsz8250(terry)回复于 2006-12-16 22:56:01 得分 0

ace很多方面可以借鉴的,那些模版的使用,和设计模式都运用的不错,可以增进程序员的能力,其实ACE能为我们做很多方便的事情,虽然在某些情况使用ACE的框架有限制,而且也需要考虑修改ACE的部分代码,但是总体来说,用起来很方便的!Top
43 楼batizhou(batizhou)回复于 2006-12-22 13:51:49 得分 0

哪个好,哪个不好其实很容易辨别,就是看在一个正式对外提供服务的服务器里,你会不会用ACE。 
  
  用完成端口或者epoll写个能支持几千连接的网络组件,估计最多两至三周就稳定了,而且性能还不错,因为epoll和完成端口总共的知识量并不多,里面的任何东西自己都了如指掌。例如一个网游服务器,三千人在线,我敢放心的用自己写的组件。 
  
  用ACE估计两至三周能够完成基本功能,但真正的恶梦估计从此就开始了,里面指不定什么时候就冒出个BUG,因为ACE太庞大了,里面的东西估计至少要半年才能吃透,在这种情况下,至少我不敢把它放到一个正式的服务器中? 
  
  当然不是说ACE一无是处,我觉得里面的很多模型,非常具有学习价值。 
  Top
44 楼batizhou(batizhou)回复于 2006-12-22 13:57:41 得分 0

如果就实际产品开发而言,敢说ACE好的,多半都是些理论家,没做过什么实际东西,或是一些水平不怎么高的人,纯属跟风,没自己主见的。 
  
  就个人而言,ACE只具备研究和学习价值,不具备实际使用价值。 
  
  Top
45 楼crystal_heart(笑看风云)回复于 2006-12-28 17:53:39 得分 0

ACE只具备研究和学习价值,不具备实际使用价值。Top
46 楼ahhy(蓝色海洋)回复于 2006-12-29 19:39:36 得分 0

ACE   工具包的几个层次: 
  
  (1)   ACE   OS   Adaptive   层 
  
  (2)   ACE   C++   wrapper   Facade   层 
  
  (3)   ACE   framework   层 
          
          -   事件多路分离和分发框架         reactor,   proactor 
          -   连接建立和服务初始化框架     Acceptor-Connector 
          -   并发框架                                     Task   框架 
          -   服务配置器框架                         Service   Configurator 
          -   流(Streams)框架 
  
  (4)   网络服务组件层 
  
  LZ   不要急,   冲动是魔鬼! 
    
  静下心来思考自己面对的问题,   是哪里出了错,   真的是   ACE   出了错,   ACE   真的只是   "骗钱"   的?   还是自己没有很好的把握好自己面对的项目的每一个层次...   ...   
  Top
47 楼lamputa_lito(lamputa)回复于 2007-01-10 14:31:28 得分 0

如果要很快的想把ACE应用到实际项目中,ACE确实不适合。 
  我现在断断续续看了接近3个月,也还没看多少ACE的代码。都是在看一些相关的基础知识。 
  期望在毫无基础的情况下一两个月内把ACE搞到实际应用的工程中,只能说你本身对ACE认识不足。 
  Top
48 楼firebolt2002(霹雳)回复于 2007-01-10 16:55:42 得分 0

慢慢来吧。觉得ACE不适合当前的项目可以不用,不过全盘否定也不对,ACE的用到的很多设计模式还是值得肯定的。很多技术也是非常先进的。Top
49 楼84shelley(影朔)回复于 2007-01-11 11:35:25 得分 0

接了~~ 
  反正我是比较钟情自己封装通信接口Top
50 楼karonhome(天天开心)回复于 2007-01-13 13:58:25 得分 0

markTop
51 楼EricZhuo()回复于 2007-01-14 15:06:20 得分 0

boost::asio比ACE小巧,   易用性高很多.   效率也是很高的(在windows下面用的是IOCP),   我用它做过实际项目,   非常的不错.Top
52 楼sxcong(sxcong)回复于 2007-01-15 14:59:15 得分 0

回:lamputa_lito(lamputa) 
  
  高性能的网络服务器,几千行的确能实现。jabber的服务器是开源的,有不少是用c,c++写的,你上去数数有多少行。 
  绝大多数程序员没有失业,就是因为他们没有你这样想法,而是精益求精的专研。写的代码多不代表水平高,相反,水平高的人写出的代码绝对是精简有效。 
  Top
53 楼matrass_zhao()回复于 2007-01-15 17:26:40 得分 0

delete   this很正常啊,有什么可批评的?Top
54 楼ydogg(灰毛兔频频)回复于 2007-01-18 17:22:38 得分 0

1.   ACE是opensource,不会赚你的钱 
  2.   ACE体系虽然庞大,但是层次清晰 
  最低是跨平台的C   API,   中间是C++的包裹类库, 
  上层是基于常用网络模式的Framework,最上是部分成型Service. 
  
  精华部分在于framework(大量的代码聚集处),   使用得当确实是事半功倍。 
  你觉得这部分难用也可以直接用下面2层(估计你喜欢的是这种),道格拉斯还希望能多使用下面2层呢。 
  
  3.   和STL容器不兼容是个缺点,可这样做是为了更多的支持嵌入式平台。 
  
  Top
55 楼ydogg(灰毛兔频频)回复于 2007-01-18 17:27:34 得分 0

至于别的,比如thread支持,XML解析等等确实是可以去掉,不过ACE目的是为了尽可能的自包含,少依赖于别的项目。 
  
  ACE的framework层的很多设计理念在道格拉斯同志的POSA的上下卷中阐述的很清楚, 
  精妙之处令人欢喜。Top
56 楼ydogg(灰毛兔频频)回复于 2007-01-18 17:32:39 得分 0

boost:asio? 
  接口层次太低,API   c++化了而已,在功能上和ACE不能相提并论,不是一个档次的。Top
57 楼pepsi_fei(可乐)回复于 2007-01-18 20:45:19 得分 0

强烈支持版主的意见,ACE实在有点@#$%&*~! 
  
  接分Top
58 楼uuussseeennn(半只青蛙)回复于 2007-01-20 17:59:15 得分 0

1:ACE的入门很难,想吃透里面的精华更难,所以在门口就被拦住而心生抱怨的人自然不在少数,也可以理解。 
 2:当一个人接触一新思想时,传统的思想势必会向它发起猛烈的攻击,如果这新思想很复杂,优势难以很快体现出来,是很容易败下阵来的,除非那个人能快速的掌握它并体现它的优势。 
  3:任何代码的多少主要是看需求的大小,抛开需求谈代码量实在不解。而且代码也不是越少越好,难懂晦涩的代码会带来维护上的噩梦,企业级的代码是绝对不允许的。 
  Top
59 楼abszo()回复于 2007-01-22 11:34:08 得分 0

不知道ace,没用过, 
  我自己做了一个中间件系统,有兴趣的朋友可以帮下载来瞧瞧,顺便帮我测试一下。 
  很简单,很容易上手。访问地址:http://www.abszo.comtop/
60 楼lemon_wei(研究BT,做好P2P)回复于 2007-02-08 09:17:41 得分 0

没发现ACE有这么差Top
61 楼f7zz(七根烟)回复于 2007-02-09 23:55:27 得分 0

ACE入门比较痛苦一点,习惯了就行了。是个好东西。   我的项目里也用它。Top
62 楼kourr2004(★★★★★鬼谷子:)★★★★★)回复于 2007-02-13 14:02:14 得分 0

ACE???好熟悉,是不是做移动通讯前台界面的那个工具?还跟中间件tuxedo联系在一起???Top
63 楼Robyyang()回复于 2007-02-26 11:15:09 得分 0

不是很熟悉.但是事情往往不要说绝了.Top
64 楼starytx(此地禁止大小便,违者没收工具!)回复于 2007-03-06 09:27:39 得分 0

仁者见仁,智者见智Top
65 楼lamputa_lito(lamputa)回复于 2007-03-08 13:46:00 得分 0

回:lamputa_lito(lamputa) 
  
  高性能的网络服务器,几千行的确能实现。jabber的服务器是开源的,有不少是用c,c++写的,你上去数数有多少行。 
  绝大多数程序员没有失业,就是因为他们没有你这样想法,而是精益求精的专研。写的代码多不代表水平高,相反,水平高的人写出的代码绝对是精简有效。 
  \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ 
  
  请问jabber是高性能的吗?不是,其实,jabber是平台无关的吗,不是。jabber只不过是一个框架而已,卖点也只在于互联互通,其次,如果你把所有jabber的服务都实现下来,我想代码也不会少Top
66 楼sevencat(七猫)回复于 2007-03-08 14:47:53 得分 0

markTop
67 楼swnu_laofu()回复于 2007-03-15 21:28:32 得分 0

回:lamputa_lito(lamputa) 
  
  高性能的网络服务器,几千行的确能实现。jabber的服务器是开源的,有不少是用c,c++写的,你上去数数有多少行。 
  
  
  高性能代码确实很少而且优美。高效整洁的代码可以说像一们艺术。也许你们接触到底层代码吧Top
68 楼swnu_laofu()回复于 2007-03-15 21:29:49 得分 0

我也看了一段时间ACE。实现的思想可以学习。但是要用它来做网络游戏通信底层我还没这个勇气Top
69 楼fhqiplj(霏霏鱼)回复于 2007-03-16 14:12:22 得分 0

就个人而言,ACE只具备研究和学习价值,不具备实际使用价值。 
  
  ======================================================= 
  
  可以学习他的思想,并且在工程中使用这些OO思想,如果直接在ACE上构建系统,那将是一个噩梦的开始。工程不允许有太多的时间去学习和研究的;对于不在我控制下出现的任何一个new   或者Socket通信,都可能在后期的运行中出现不可预知的问题,ACE过于庞大了,以至于不能够灵活的驾驭它了。Top
70 楼RobertBaker(黄金一代)回复于 2007-03-20 16:16:28 得分 0

各位要用过才知道,我正在学ACE里面的东西很实用!几乎包括了我担心的所有问题的解决方案,自己写多费时间呀,要知道它可是经受过时间检验的呀!确实好,如果你觉得不好,可能是你不了解它,或者是有偏见。Top
71 楼starcbh(信仰)回复于 2007-03-26 11:24:40 得分 0

胡说,那是你自已不行,不是ace不行,ace的好处不是在外面看看就知道的Top
72 楼starcbh(信仰)回复于 2007-03-26 11:27:07 得分 0

to   vcclass(黑山老妖)   (   )   信誉:97         Blog   
  
  是你自已不行,另外,ace是开源的,没有什么赚钱的说法, 
  去看看设计模式吧~~等你明白ace的强大和好用,你会为今天说的话羞死的Top
73 楼michney(最近比较闲)回复于 2007-03-26 18:05:00 得分 0

没用过ace,暂时也不打算学Top
74 楼qzjackie(qzjackie)回复于 2007-03-29 10:51:04 得分 0

接分有理接分有理Top
75 楼yebeans(追逐牛牛们的背影)回复于 2007-03-30 22:18:07 得分 0

如果只做个狗窝,要你去先架个吊车~~我帮你一起骂~ 
  如果要你建一幢大厦,而你不会架吊车`~~可想~~~~Top
76 楼thinkinnight(逍遥)回复于 2007-04-01 12:43:46 得分 0

没用过,也不太打算用,markTop
77 楼hlidea()回复于 2007-04-10 14:42:27 得分 0

yebeans(追逐牛牛们的背影)   ,严重同意 
  你为了发个helloworld给服务器来用ACE,那不是找抽吗?ACE是用于大型项目的 
  既然只用两个类,就不要用 
  楼主典型的自以为是Top
78 楼kalee2008()回复于 2007-04-10 17:37:58 得分 0

以前都是自己写,现在这个项目打算用ACE看看。Top
79 楼localman()回复于 2007-04-12 17:12:48 得分 0

你不习惯ace的方式,不代表ace垃圾Top
80 楼funics(九州)回复于 2007-04-13 21:22:24 得分 0

毫无疑义的讨论Top
81 楼dapao19850920()回复于 2007-04-14 23:10:03 得分 0

没用过,也不太打算用Top
相关问题

 

你可能感兴趣的:(c)