不用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
相關問題