• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我自閑庭信步,悠然自得,不亦樂乎.

                                                   ------ Keep life simple
            GMail/GTalk/MSN:huyi.zg@gmail.com

             

            不用IE好多年

            firefoxex.JPG

            Firefox真是一個好東西,配上插件后異常強大,上圖便是我所使用的插件。

            posted @ 2006-03-11 12:29 HuYi 閱讀(209) | 評論 (0)編輯 收藏

            從網絡層向邏輯層傳遞數據的問題

            網絡層向應用層傳輸數據,是個值得關注的問題
            也是整個程序運行效率的關鍵點之一。
            減少內存復制,或許又是關鍵。
            這個問題可能是今后的熱點,特此做個印關注一下。
            http://groups.google.com/group/dev4server/browse_thread/thread/7c4417efebc31452/cc2ae1fb90e15f13#cc2ae1fb90e15f13

            posted @ 2006-03-10 08:57 HuYi 閱讀(269) | 評論 (0)編輯 收藏

            無比糟糕

            本命年真是難過。
            本命年第一天,硬盤壞了。
            今天早上,腳被車門夾了,晚上,肯定是今年最大的不幸了,和tt吵架了,吵很大很大。怪我太小心眼了吧,我是不怎么管事的人,天大的事情也與我無關,但在她的事情上,我格外“重視”。她說我有神經病,我承認。

            以前問同事一個在日本待了幾年的同事,中國人在日本是不是受歧視?
            同事告訴我,做人要不卑不亢,在哪里都不會受歧視。

            是啊,做人要不卑不亢,為什么老覺得自己不如人呢?
            挺起胸口做人,傲視人間笑紅塵。

            posted @ 2006-03-09 22:19 HuYi 閱讀(258) | 評論 (0)編輯 收藏

            [小知識]信號量和自旋鎖

            信號量:
            簡單點說,就是
                  1 一個整數變量i。
                  2 一個等待進程鏈表。
                  3 一對P/V操作函數。
            P將i減1,如果i<0了,就把當前正在運行的進程加入到進程鏈表中,并阻塞之。
            V將i加1,如果i>=0,則激活鏈表中的1個或者多個進程。
            同時適用于單處理器和多處理器

            自旋鎖:
            在多處理器中,如果修改一些內核結構所需要的時間非常短(短于把進程插入進程鏈表中并掛起它所需要的時間),則應該使用自旋鎖。

             

            posted @ 2006-03-09 16:02 HuYi 閱讀(346) | 評論 (0)編輯 收藏

            [小知識]存儲器管理區

            80x86體系結構的兩種硬件約束:
            1。ISA總線直接存儲器存取(DMA)只能對RAM的前16MB尋址。
            2。在大RAM的32位機中,由于線性地址空間太小的原因,CPU不能直接訪問所有物理存儲器。

            所以,Linux把物理存儲器分為三個管理區:
            ZONE_DMA <= 16MB
            16MB < ZONE_NORMAL < 896MB
            ZONE_HIGHMEM > 896MB

            在64位機中沒有使用ZONE_HIGHNEN

            posted @ 2006-03-07 17:11 HuYi 閱讀(238) | 評論 (0)編輯 收藏

            結構體最后的長度為0或者1的數組

                 摘要: 在Linux系統里,/usr/include/linux/if_pppox.h里面有這樣一個結構: 1struct pppoe_tag {2    __u16 tag_type;3    __u16 tag_len;4    char&n...  閱讀全文

            posted @ 2006-03-07 12:23 HuYi 閱讀(1959) | 評論 (5)編輯 收藏

            About MMORPG的邏輯層構架

            Ghost Cheng “為了暖場”而提出的議題,引發了大家熱烈討論。
            Hi all:

            這兩天maillist好像有點冷清了,我來立個靶子,大家討論一下MMORPG的邏輯層構架。

            所謂邏輯層構架,就是指MMORPG的跑地圖、聊天轉發、好友上線通知、交易事件等,
            比如玩家或NPC跑地圖的時候,以什么樣的方式通知場景周圍的玩家、轉發聊天對話與好友上線通知的時候,如何才能盡量不去遍歷玩家鏈表。

            先說說我的想法,我處理的方式是基于EventEngine的,所謂EventEngine其實就是一個獨立的線程,維護一個Event隊列,
            當對列中有事件的時候就處理。這里的事件包括:玩家動作(移動、攻擊)、NPC動作(移動、攻擊)、聊天、上線、下線等。

            當數據包處理線程,收到玩家上線的數據包,就提交一個事件到隊列,
            同樣,玩家發來攻擊、聊天的數據后,也提交一個事件到隊列。
            NPC的事件觸發時間,由另一個線程計算,一旦這個NPC到了需要移動或攻擊的時候,就提交一個事件到隊列。

            這樣確保所有的資源,都只有EventEngine一個線程訪問,比如地圖上的玩家鏈表等。

            我遇到的問題:目前主要是聊天、或好友上線,這些事件處理的時候,需要遍歷整個玩家鏈表,
            這個鏈表就是網絡層的session list,訪問的時候需要鎖定,如果有大量鎖定遍歷的操作,性能感覺會比較底,
            不知道大家有什么好的方案?

            希望大家踴躍發言哦!

            http://groups.google.com/group/dev4server/browse_thread/thread/de6320c499f6dc3d/becf3963881399c8#becf3963881399c8

            posted @ 2006-03-07 11:28 HuYi 閱讀(328) | 評論 (0)編輯 收藏

            XmlPullParser和SocketReader的思索

            今天再次Review了代碼,但思路卻因此而開始混亂。

            從名字上解這兩個對象:
            XmlPullParser當然是以“拉”的方式從流中獲取信息。
            SocketReader單從字面上理解,功能自然是從Socket上獲取字節流。

            “單一職責原則”,在幾年前就在我腦子里打下了烙印。The Simpler The Easier,既是我做人的原則,也是我做程序的原則。常理上講,我應該盡力維護這個原則,讓上述兩個對象都盡可能的簡單。  在wildfire中,也有SocketReader,然而它的SocketReader卻不是那么簡單,功能遠遠超出了字面意義。大部分業務都要靠這個來控制,分配。
            受它影響(之前我通讀了wildfire的所有源碼),在tim中也給SocketReader的子類ClientSocketReader等加上了重擔。因為它掌握了太多的信息,應該說大多數信息都暴露在這個地方,Session,Socket,SocketConnection,我實在找不出理由不讓它參與進業務。也許,這是OO的一種失敗,但我一時也找不到新對象來管理這一系列的相關信息。
            XmlPullParser則和SocketReader息息相關,因為Socket中Read出來的東西首先就要經過Parser,才能從字符流形成有用的東西。
            在原先的設計中,XmlPullParser被SocketReader所包含,并提供了get方法暴露給外界。在很多事件分配的地方,都要XmlPullParser提供信息,之前,都是通過SocketReader間接獲取xpp,高層真的需要直接使用xpp嗎?我覺得不然,高層需要的信息完全可以通過SocketReader來提供。
            那么該怎么設計兩者的關系呢?是包含,還是父子?我傾向于包含,但懶惰促使我選擇了父子。目前看起來,父子關系并沒有帶來什么壞的影響,如果有必要,今后再重構吧。
            現在結構似乎更為清晰了,SocketReader的子類(ClientSocketReader。。。)會負責解析流,并根據解析出的內容進行第一層處理,如選擇下級處理器或者是直接計算業務,或者是進行轉發。。。根據不同的子類,表現不同的業務族(Client,Server,Agent。。。)

            posted @ 2006-03-06 23:38 HuYi 閱讀(837) | 評論 (0)編輯 收藏

            “iq” stanza處理

            按照全局的事件分配機制,iq包被InputHandler所分配。
            Iq包有兩個小特點:
            一是不需要像auth那樣持續對話,服務端只收一次包就可以把一個iq業務處理完。
            二是Iq包的接收和應答是無序的,靠id對應起來。

            那么iq的處理機制,該怎么設計呢?

            posted @ 2006-03-06 14:52 HuYi 閱讀(283) | 評論 (0)編輯 收藏

            TIM中的XmlPullParser

            2006.03.05
            今天晚上Parser崩潰了,這個臨時性的東西真不好伺候阿。

            2006.03.06
            重新寫了一個“臨時”的新PullParser,看起來能應付應付了,不過暫時還是不想把精力放到這個上面,今后再說吧,能測試就行了。不知道什么時候能找到朋友幫幫我啊。

            posted @ 2006-03-06 11:08 HuYi 閱讀(254) | 評論 (0)編輯 收藏

            僅列出標題
            共7頁: 1 2 3 4 5 6 7 

            導航

            統計

            常用鏈接

            留言簿(12)

            隨筆分類

            相冊

            收藏夾

            友情鏈接

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            99久久99久久精品国产片| 精品无码久久久久国产动漫3d| 国产情侣久久久久aⅴ免费| 久久精品中文无码资源站 | 大香伊人久久精品一区二区| 精品久久久久久国产| 99久久er这里只有精品18| 国产亚州精品女人久久久久久 | 久久久精品人妻一区二区三区蜜桃 | 久久综合给合久久狠狠狠97色69| 中文字幕久久欲求不满| 伊人久久大香线蕉综合Av| 国产成人精品综合久久久久 | 无码AV波多野结衣久久| 国产99久久九九精品无码| 久久人人爽人人爽人人片AV不| 国产成人久久精品区一区二区| 亚洲精品综合久久| 99久久婷婷免费国产综合精品| 综合网日日天干夜夜久久| 国产精品免费看久久久香蕉| 精品免费久久久久久久| 亚洲中文字幕伊人久久无码 | 久久精品国产AV一区二区三区 | 亚洲欧美精品伊人久久| 欧洲精品久久久av无码电影| 国产精品欧美久久久久天天影视| 久久久久亚洲av无码专区| 日产精品久久久久久久| 久久久久人妻一区精品| 国产精品激情综合久久| av午夜福利一片免费看久久| 久久久久无码精品国产不卡| 成人午夜精品无码区久久| 国产精品99久久久久久宅男小说| 狠狠色狠狠色综合久久| 国产精品久久新婚兰兰| 伊人久久综合成人网| 久久亚洲精品成人av无码网站| 国产精品久久久福利| 久久精品国产99国产电影网 |