支持一吧!實(shí)踐夢(mèng)想需要極大的努力
re: 今天是母親的生日[未登錄](méi) true 2013-01-18 19:34
溫馨,感動(dòng)
re: thrift:絕對(duì)值得研究 true 2011-09-26 01:45
還有努力開發(fā)中的msgpack:
http://msgpack.org/
真戒qq?我在機(jī)場(chǎng)忙里偷閑上來(lái)看看,剛看見一個(gè)穿著長(zhǎng)袍的道士(?)過(guò)去
mongos里面的ByteBuffer確實(shí)好用,以前也做過(guò)把他單獨(dú)提取出來(lái),再添加幾個(gè)方法使用
@whappyo
先用抓包工具wireshark檢查是否能抓到包,如果能,就仔細(xì)檢查下附帶的實(shí)例代碼,代碼中都有詳盡的注釋,可以嘗試調(diào)整一下參數(shù),另外winpcap是抓不到loopback的包的,也就是抓不到同一主機(jī)內(nèi)部通訊的包。
常見的一種需求:把一個(gè)客戶端的處理始終綁定到某一個(gè)線程,就是說(shuō)各個(gè)請(qǐng)求之間是有時(shí)序要求的。線程池的自適應(yīng)要考慮一下這個(gè)問(wèn)題
@baiyundsh
很久以前寫的文章,具體細(xì)節(jié)記不太清楚了。原文的意思是,“安裝mod_python-3.3.1.win32-py2.5-Apache2.2.exe,安裝時(shí)能自動(dòng)檢測(cè)到python的安裝目錄”,這里不用選擇D:\Program Files\Apache Software Foundation\Apache2.2目錄。而D:\Program Files\Apache Software Foundation\Apache2.2\conf目錄,是apache的配置文件目錄。這里是兩個(gè)步驟,如果按照這兩步驟依然不行,可能就是你說(shuō)的,在選擇apache配置文件目錄的時(shí)候,也選擇D:\Program Files\Apache Software Foundation\Apache2.2?
@Benjamin
我想保持足夠簡(jiǎn)單,Buffer就是對(duì)原始內(nèi)存的簡(jiǎn)陋封裝。沒(méi)明白Buffer類哪個(gè)地方需要模板,歡迎指正.
@清正
十六進(jìn)制更自然一些,
0x01
0x02
0x04
0x08
上面即可看出,用一個(gè)字節(jié)足以容下這個(gè)標(biāo)記,而且有時(shí)存在對(duì)標(biāo)記位的&或者|操作,這樣的話,就不能再定義0x03了,因?yàn)?x03 == 0x01 + 0x02
@bill gates
謝謝回復(fù),找個(gè)時(shí)間閱讀下asio的代碼。如果是在公司沒(méi)有基礎(chǔ)庫(kù)積累的情況下,讓我選擇,我可能會(huì)選擇boost,不僅僅是因?yàn)閍sio,更多的是boost是一個(gè)all in one,比如正則,字符串處理,demo還提供了http,另外,asio有個(gè)值得稱贊的地方是,proactor模型在linux是用epoll這種"本屬于"reactor模型的api模擬的,這個(gè)做法實(shí)在是太考慮開發(fā)者感受了,用asio寫的代碼,無(wú)論win還是linux都是很高效。
@清正
0x01是十六進(jìn)制表示,二進(jìn)制為0000 0001 :)
@finalday
@kasicass
考慮內(nèi)存池倒不是運(yùn)行時(shí)分配的效率問(wèn)題,個(gè)人看重兩方面:避免過(guò)多的動(dòng)態(tài)分配,減少碎片;內(nèi)存的可控性,容易避免內(nèi)存泄露之類;對(duì)于一個(gè)服務(wù)器程序來(lái)說(shuō),他的數(shù)據(jù)包大小可以大致做一下劃分,比如85%的數(shù)據(jù)包小于1K,那么這個(gè)1K就是內(nèi)存池的基礎(chǔ)大小,暫稱為baseSize,另外確定數(shù)據(jù)包的maxSize,按照一定比例分配,這種方式可能會(huì)浪費(fèi)一些內(nèi)存,但我覺得夠用了。
@expter
沒(méi)太懂:(,本意是這樣的:定長(zhǎng)Buffer組成BufferList,構(gòu)造中分配,析構(gòu)中釋放,在使用過(guò)程中不允許改變大小。
經(jīng)驗(yàn)之談,我之前有個(gè)服務(wù)器內(nèi)部的交互接口,就是傳的std::map<string,string>,文本協(xié)議的動(dòng)態(tài)性方面有優(yōu)勢(shì)
如果把luadebugger寫成VS的插件,估計(jì)可以賣錢了,我有這樣的想法,但也是沒(méi)有時(shí)間去實(shí)現(xiàn)
@zjh
謝謝提醒。序列化用<<,反序列化用>>,不改變它的對(duì)齊規(guī)則,應(yīng)該是可以的
最簡(jiǎn)單的就是用epoll自己寫個(gè)helloworld
不管是什么目的,金山敢于開放源代碼就是勇氣,值得贊譽(yù)
算了,我可能說(shuō)了不該說(shuō)的:)
@gaimor
但是發(fā)到了首頁(yè)精華區(qū),前面有個(gè)文章討論,看出來(lái)大家都很看得開,您這樣寫文章,明顯是吊胃口嘛,建議寫出結(jié)果,即解決方案
竟然有人冒充我 true 2010-11-18 21:30
@ture
為何冒充我?
@陳梓瀚(vczh)
你剛才回復(fù)的人,不是我,希望不要引起誤解
再次表達(dá)一下個(gè)人觀點(diǎn):可以討論問(wèn)題,甚至是激烈辯論,但罵人是絕對(duì)不對(duì)的,這個(gè)和人品有關(guān)
只能說(shuō),什么鳥都有,我來(lái)支持一下,繼續(xù)你的系列文章吧!
re: 40歲以后的程序員還能做什么? true 2010-11-04 16:32
有道理
支持原創(chuàng),mysqlpp的example里面有很多例子
雜談中的幾句似乎有些言重了,技術(shù)以實(shí)用為本,應(yīng)該允許百家爭(zhēng)鳴,很多時(shí)候使用libevent,ace是因?yàn)樗麄冊(cè)诰W(wǎng)絡(luò)庫(kù)開發(fā)方面,已經(jīng)或多或少的成為了標(biāo)準(zhǔn),容易為大家接受,況且在整個(gè)系統(tǒng)架構(gòu)方面,網(wǎng)絡(luò)庫(kù)本身已經(jīng)越來(lái)越不重要了。
re: 游戲IP代理 true 2010-09-30 09:34
看了首頁(yè)的幾篇相關(guān)文章,貌似是做私服?我平時(shí)也用ice,但限于服務(wù)器內(nèi)部使用,在多語(yǔ)言交互上,ice做的很強(qiáng)大了,rpc也簡(jiǎn)化了邏輯操作,思路更加清晰。不過(guò),從我使用的經(jīng)驗(yàn)來(lái)看,ice更側(cè)重于通過(guò)簡(jiǎn)單rpc/ami實(shí)現(xiàn)簡(jiǎn)單的邏輯,這種邏輯最后只維護(hù)簡(jiǎn)單的狀態(tài),比如在線用戶列表,而對(duì)于有復(fù)雜狀態(tài)維護(hù)的游戲邏輯服務(wù)器,ice有點(diǎn)力不從心,或者說(shuō)不是那么直觀了。
re: 兒子來(lái)北京了,很忙碌 true 2010-09-29 09:37
@ccsdu2009
這是cppblog自帶的模板風(fēng)格,可以自行選擇
共享內(nèi)存畢竟是一種進(jìn)程間通訊技術(shù),如果將對(duì)內(nèi)存的操作全部轉(zhuǎn)為對(duì)共享內(nèi)存的操作,恐怕會(huì)有數(shù)量級(jí)的性能損耗,如果有dbproxy的話,可以縮短持久化數(shù)據(jù)的時(shí)間,也僅僅是將數(shù)據(jù)通過(guò)tcp連接發(fā)送給dbproxy,小概率的短時(shí)間回檔我覺得可以接受的,當(dāng)然最好是不崩潰,或者崩潰后不丟失數(shù)據(jù)。你們線上系統(tǒng)使用共享內(nèi)存的效果如何?
re: 體驗(yàn)RakNet的RPC3 true 2010-09-20 17:44
@vincent
CORBA,過(guò)于復(fù)雜了,RPC是遠(yuǎn)程過(guò)程調(diào)用,就是調(diào)用函數(shù),AMI:是異步方法調(diào)用,調(diào)用的是對(duì)象的成員,CORBA和ICE里面都有AMI功能,但是寫邏輯真的個(gè)人感覺不太適合直接用RPC或者AMI得方式,我一般用來(lái)處理一些很簡(jiǎn)單的功能,比如和中心服務(wù)器的交互,像分配全局session id等,而且CORBA有自己的類型系統(tǒng)(int,long,short ,string等),這些類型與客戶端與服務(wù)器傳輸時(shí)常用的uint8,uint32等等,不一致,最好不要有兩種類型系統(tǒng)
ServerSocket在構(gòu)造函數(shù)中進(jìn)行bind和listen,StreamSocket在構(gòu)造函數(shù)進(jìn)行connect,都是非常貼心的設(shè)計(jì)。
這些在ace里面也有體現(xiàn)。
寫的很好,友情支持,簡(jiǎn)單看過(guò)POCO,功能上確實(shí)很全,強(qiáng)大,不過(guò)沒(méi)有自己實(shí)際在項(xiàng)目中使用過(guò),期待更多分析
re: mysql自動(dòng)備份腳本 true 2010-08-28 10:12
@ZUHD
關(guān)于增量備份,目前沒(méi)有涉及,不知道有何好的方案。現(xiàn)在我知道的情況是,如果打開了binlog,可以得到操作的日志,也就可以得到做了什么操作,恢復(fù)數(shù)據(jù)庫(kù)之后,將這里sql執(zhí)行一遍即可。
邏輯層,按功能劃分模塊,每個(gè)模塊由一個(gè)待處理隊(duì)列,模塊進(jìn)一步分為有序模塊和無(wú)序模塊,有序模塊由一個(gè)線程單獨(dú)處理,無(wú)序模塊多線程處理。
sqlite也實(shí)現(xiàn)了一個(gè)btree,自己的文件格式,緩存
兩點(diǎn)還在發(fā)貼,頂一個(gè):)
寫得很好,這個(gè)流程正常走完的話,對(duì)需求分析人員要求較高,對(duì)于研發(fā)團(tuán)隊(duì)能不能按照開發(fā)規(guī)范進(jìn)行開發(fā),個(gè)人覺得很大程度上取決于技術(shù)決策者和核心開發(fā)人員,如果他們都明確要求并以身作則,其它開發(fā)人員肯定會(huì)遵守,而實(shí)際上大多小公司做不到這一點(diǎn)。
re: 自己造的一個(gè)線程類 true 2009-09-11 20:34
@ 欲三更
線程的抽象問(wèn)題,也算是見仁見智,你描述的方式類似boost的實(shí)現(xiàn)(好像是),而博文中的抽象是基于“主動(dòng)對(duì)象”這個(gè)概念的,我個(gè)人覺得,“主動(dòng)對(duì)象”更容易理解。
libprotobuf是個(gè)好東東,多看幾遍就好了:),有啥問(wèn)題可以一起交流。關(guān)于數(shù)據(jù)格式,還可以看一下json,感覺不錯(cuò)。
@sd
我也知道xmpp已經(jīng)得到了廣泛的使用,這里主要是想,做一個(gè)自動(dòng)描述協(xié)議,自動(dòng)序列化的工具,既然要做到這樣,我選擇了基于libprotobuf的方案,第一次看到它的編碼時(shí),著實(shí)讓人開闊思路:)