Ice的設(shè)計(jì)思想非常好,通過(guò)slice定義之后產(chǎn)生一堆的通信框架代碼來(lái)自動(dòng)化完成對(duì)象數(shù)據(jù)的序列化
由于ice是基于Rpc的,底層通信細(xì)節(jié)被屏蔽掉了,甚至是連接的自動(dòng)重復(fù)建立,可喜又可悲,有些應(yīng)用必須要關(guān)心這些底部的通信細(xì)節(jié),
如果直接用socket又嫌太麻煩了,不同的應(yīng)用都是在重復(fù)的進(jìn)行開(kāi)發(fā)通信協(xié)議,解包和打包花銷很很多的精力,這些工作都是重復(fù)的,沒(méi)有技術(shù)含量而且容易出錯(cuò).
之前開(kāi)發(fā)過(guò)mtslib通信庫(kù)來(lái)解決socket通信問(wèn)題,使兩端都是以消息包的形式進(jìn)行通信,解決了socket兩段buffer的管理
也看過(guò)ice的代碼實(shí)現(xiàn),slice2cpp用yacc&lex進(jìn)行詞法語(yǔ)法的處理
對(duì)象的自動(dòng)序列化這是我所感興趣的,同ice一樣提供一個(gè)通信環(huán)境,然后用戶可以自定義自己的通信數(shù)據(jù),通過(guò)idl的形式自動(dòng)產(chǎn)生序列化代碼并編譯進(jìn)用戶工程.
這種方式與ice又不同在于沒(méi)有那么傻瓜化,但簡(jiǎn)化了用戶處理消息報(bào)的過(guò)程.
這樣要完成一個(gè)類似ice的rpc調(diào)用也是沒(méi)有那么簡(jiǎn)單
yacc/lex,lemon,
由于ice是基于Rpc的,底層通信細(xì)節(jié)被屏蔽掉了,甚至是連接的自動(dòng)重復(fù)建立,可喜又可悲,有些應(yīng)用必須要關(guān)心這些底部的通信細(xì)節(jié),
如果直接用socket又嫌太麻煩了,不同的應(yīng)用都是在重復(fù)的進(jìn)行開(kāi)發(fā)通信協(xié)議,解包和打包花銷很很多的精力,這些工作都是重復(fù)的,沒(méi)有技術(shù)含量而且容易出錯(cuò).
之前開(kāi)發(fā)過(guò)mtslib通信庫(kù)來(lái)解決socket通信問(wèn)題,使兩端都是以消息包的形式進(jìn)行通信,解決了socket兩段buffer的管理
也看過(guò)ice的代碼實(shí)現(xiàn),slice2cpp用yacc&lex進(jìn)行詞法語(yǔ)法的處理
對(duì)象的自動(dòng)序列化這是我所感興趣的,同ice一樣提供一個(gè)通信環(huán)境,然后用戶可以自定義自己的通信數(shù)據(jù),通過(guò)idl的形式自動(dòng)產(chǎn)生序列化代碼并編譯進(jìn)用戶工程.
這種方式與ice又不同在于沒(méi)有那么傻瓜化,但簡(jiǎn)化了用戶處理消息報(bào)的過(guò)程.
這樣要完成一個(gè)類似ice的rpc調(diào)用也是沒(méi)有那么簡(jiǎn)單
yacc/lex,lemon,
posted on 2010-05-10 15:27 放屁阿狗 閱讀(518) 評(píng)論(1) 編輯 收藏 引用 所屬分類: C++/Boost/STL/Template 、yacc/lex/compiler