在面試的過程中,TCP三向交握是一個出現頻率比較多的話題。三次過程如所示: Client Server |------------SYN1----------->| | | |<------SYN2+ACK1---------| |
系統簡單結構client--->[logicd1, logic2]--->cached從client過來的訊息分發給先前註冊的HandlercsMsgDispatcher->Dispatch(buf, len, param);buf + len就是表示cs message。param附加參數,後面將用到。從cached也有訊息發過來,和cs訊息處理方法一樣,用另外一個MsgDispatcher分發器對象。登入處理流程(主要看角色資料是否已經存在)1.
什麼是成就成就系統可以理解為對某個角色成長過程重大事件的記錄;玩家通過查看成就跟蹤角色涉及的重大事件。 成就的策劃模版資料ID, 這個成就的唯一標識;Name, 命名;EventCategroy, 完成的事件對應的類型,類型是對各種事件大一個範圍的分類;EventCategroy2, 實際需求中可能有多種類型;EventID1, 完成的事件ID,事件是指遊戲中自訂各種事件,比如升級事件、完成多少任務事件等;EventValue1, 上面的事件ID對應的值,
轉載請註明:http://blog.csdn.net/herm_lib/article/details/8330493前段時間用了 proto-gen AS3版本的 protobuf,用到了extension的時候,出事了,表現為,有時候反序列成功,有時候又失敗,各種未定義行為。因為,先前用C++版本都很順利,所以慣性上認為是自己代碼有問題,然後各種排查,無果。然後,問同事,他們都沒用到extension特性;網上查,按照proto-gen
地圖分進程架構和無縫大地圖單進程架構有的遊戲伺服器,一個進程處理一張或多張地圖上的邏輯,進入到不同進程的地圖,資料須要一個進程間同步的過程。簡單合理的同步做法是,先將資料同步到一個公用伺服器;進入到目標進程後,再從公用伺服器拉取本角色的最新資料。可以參考 http://blog.csdn.net/herm_lib/archive/2011/05/01/6381872.aspx 中的logicsvr1 dbproxy logicsvr2的關係。 分進程架構有他的優缺點。優點 (1)
入門6-Silverlight 1.0中多媒體影音接著介紹一下Silverlight 1.0多媒體影音,目前Silverlight 1.0隻支援WMA,WP3,WMV這三種格式,隨著以後Silverlight新版本的推出,相信會有更多的影音格式會被支援。以下給出應用簡圖:=================================================
大家好。我是一個熱愛技術的人,從事商業的伺服器開發9年多,參與和負責了幾款不同類型的遊戲開發,包括SNS、ACG和RPG;也負責過IM的開發。運氣比較好,屬於實戰型的程式員。我想寫一個遊戲伺服器的序列文章,主要是自己實踐的總結。發帖目的是想大家給點意見,怎麼寫,對須要經驗分享的人有效果。我將在業餘時間慢慢寫,慢慢地寫,爭取每一部分都對讀者有益。首先說一下我的寫作原則:1 實踐乾貨 從實踐出發,沒實踐過的,盡量不寫。如果一些平時技術學習類的內容,會單獨作為章節列出。人非聖賢,必有錯,實
轉載請註明:http://blog.csdn.net/herm_lib/article/details/7252329有過幾款IM系統開發經曆,目前有一款還線上上跑著。準備簡單地介紹一下大型商業應用的IM系統的架構。設計這種架構比較重要的一點是低耦合,把整個系統設計成多個相互分離的子系統。我把整個系統分成下面幾個部分:(1)狀態訊息系統 (2)好友系統 (3)P2P系統 (4)其他擴充業務系統先看狀態訊息系統 connd
要做個SIP軟電話,收集了一些這方面的資料,做下參考.要在windows或者linux平台下開發基於SIP的軟電話,需要以下軟體 伺服器端軟體: 註冊多個用戶端到伺服器上,可以進行通話測試 SIP用戶端軟體:主要用於測試,可以對別人已經完成的用戶端進行抓包,以比對自己程式的發包資料 SIP協議棧:基於某個現成的SIP協議棧來開發會加快開發進度 RTP棧:傳輸語言或者視頻資料的協議棧 抓包測試載入器:調試網路程式最有效辦法 以下介紹這些軟體主要以開源軟體為主一 伺服器端軟體 1.
轉載請註明:http://blog.csdn.net/herm_lib/article/details/8500005AS3的反射功能以前做過一下,過一小段時間就忘記了,查了以前的代碼才知道。這次把他記錄下來。反射功能: 根據類型名字,能夠產生這個類型的對象;或者
大部分CS的應用需要心跳機制。心跳機制一般在Server和Client都要實現,兩者實現原理基本一樣。Client不關心效能,怎麼做都行。如果應用是基於TCP的,可以簡單地通過SO_KEEPALIVE實現心跳。TCP在設定的KeepAlive定時器到達時向對端發一個檢測TCP segment,如果沒收到ACK或RST,嘗試幾次後,就認為對端已經不存在,最後通知應用程式。這裡有個缺點是,Server主動發出檢測包,對效能有點影響。 應用自己實現 Client啟動一個定時器,不斷髮心跳;
http://blog.csdn.net/herm_lib daemon.huang # gmail # com 1.1 什麼是Herm Herm是一套快速開發高效能的網路應用的C++庫,主要針對網路遊戲伺服器提供全套解決方案,包括接入、網遊邏輯、資料緩衝和持久化組件。但同時Herm也適合可以用於即時通訊、流媒體、檔案下載、P2P(Socket組件實現的細節已經考慮到對TCP穿透的支援)等基於TCP/IP的網路應用。 Herm包括的組件: (1)base
SNS類型的遊戲和RPG類的網遊有一些不同的特點,而這些特點會導致這類遊戲的後台架構和RPG網遊的後台架構存在一些區別。SNS類型的遊戲一般有以下的特點:(1)所有的玩家角色可能存在互動 SNS類型的遊戲一個玩家角色會找他的好友或者其他任何一個毫無關係的玩家角色進行某種邏輯上的互動。(2)這類遊戲玩家角色一般是看不見的(3)玩家角色線上或離線狀態比較模糊
這裡的閘道伺服器(簡稱gated吧)是指邏輯伺服器前面的那排伺服器,一般有幾個主要功能: (1)接入 (2)加解密 (3)解縮壓gated一個特點是不處理邏輯,每個串連之間不存在互動關係,這點非常關鍵,是我這個最佳化方案的基礎。上面(2)(3)兩項目是很吃CPU的,而目前的機器一般是X個CPU,Y個核的,我們可以通過多線程的方式,更好利用機器硬體。當然多線程之間肯定沒有任何鎖之類的東西。有了鎖,多線程效率就下來了。 上行處理過程:
對於學習Silverlight的初學者來說最關鍵的技術知識就是:XAML和Javascript。其中XAML複雜的文法和使用Javascript操作文檔的DOM又是痛點。對於Silverlight的學習,還有個很有協助的輔助技術知識,就是XML,我們可以參考W3C的Specification,
轉自: http://blog.csdn.net/zhangxiaogen/archive/2004/07/26/52352.aspx JMX越來越多得出現在各種技術雜誌、白皮書和報告中,雖然它已不再是一個buzzword了。不僅僅是SUN?,最近許多廠商都宣布已經或是準備支援這一技術。不僅IBM、BEA、HP、Marcomedia(JRun)這些大的廠商,而且還有許多小的軟體公司和開源項目也都加入了這一行列,包括
按照我部落格裡入門1中所述,建四個檔案SampleHTMLPage.html,Silverlight.js,myxaml.xaml,createSilverlight.js,然後講以下代碼代碼1粘貼到myxaml.xaml(覆蓋原代碼),雙擊SampleHTMLPage.html,代碼1:==============================================================<Canvas xmlns="http://schemas.microsoft.
這裡用Ellipse元素對象做了一個簡單的應用,奧運五環.將代碼1粘貼到入門1中的myxaml.xaml檔案,後雙擊入門1中的SampleHTMLPage.html即可看到圖形,代碼1:============================================================<Canvas xmlns="http://schemas.microsoft.com/client/2007"
TextBlock用法如下:================================================<TextBlock FontFamily="字型名稱" FontSize="字型大小" FontStyle="字型樣式" FontWeight="字型粗細樣式" Foreground="字型前景顏色" Width="文字區塊寬度" Height="文字區塊高度" Opacity="文字透明度"
下面介紹一下Image和ImageBrush元素對象:在Silverlight中通過使用Image對象和ImageBrush圖片筆刷兩種方式來顯示圖片,圖片的格式目前只支援PNG和JPG兩種,所以其他格式的圖片格式,例如gif,bmp需要先轉換成PNG或JPG,方可在在Silverlight中使用。先介紹Image,Image用法如下:<Image Source="要顯示的圖片的名稱" Width="圖片寬度" Height="圖片高度" Stretch="展開模式"