本文** http://blog.csdn.net/dotnet90/archive/2009/05/05/4152401.aspx
基本設計概念和處理流程
呼叫模型
利用物件導向思想多型性,呼叫方儲存著被呼叫方的基礎介面指標(一般稱呼為 鉤子),呼叫方直接呼叫介面指標裡面方法,方法具體實現邏輯由
該介面的派生類實現.示意圖:
基於事件驅動的資料處理模型
為系統功能設計,需要處理網路事件資料socketevent,資料庫事件資料databaseevent,定時器事件資料timerevent等,為此建立資料佇列服
務queueservice,為每一佇列建立多個子執行緒queueservicethread處理。資料佇列服務提供新增事件資料方法addtoqueue,設定資料佇列服務鉤
子setqueueservicesink,讓資料佇列服務鉤子queueservicesink做具體邏輯事件資料處理。
示意圖:
再者,根據網路,資料庫等特定功能,構建網路,資料庫等管理服務,實現資料佇列服務鉤子queueservicesink方法,排程事件資料執行外部處
理介面,外部處理介面具體由二次開發使用者實現。示意圖:
事件資料設計
框架體系設計
功能模組劃分
資料佇列服務queueservice模組設計
基本設計概念
建立乙個記憶體鍊錶,儲存事件資料,對外部提供方法往鍊錶新增事件資料並通知執行緒,同時啟動多個處理執行緒,從資料鏈表裡獲取事件資料,執行外部鉤子方法進行處理.執行緒事件通知採用完成端**術.
類與介面設計
介面設計
網狐棋牌遊戲服務端架構設計原理
基本設計概念和處理流程 呼叫模型 利用物件導向思想多型性,呼叫方儲存著被呼叫方的基礎介面指標 一般稱呼為 鉤子 呼叫方直接呼叫介面指標裡面方法,方法具體實現邏輯由 該介面的派生類實現.示意圖 基於事件驅動的資料處理模型 為系統功能設計,需要處理網路事件資料socketevent,資料庫事件資料dat...
棋牌遊戲伺服器架構設計
一,棋牌類伺服器的特點 1,棋牌類不分割槽不分服 一般來說,棋牌遊戲都是不分割槽不分服的。所以棋牌類伺服器要滿足隨著使用者量的增加而擴充套件的需要。2,房間模式 即在同一局遊戲中就是在同乙個房間中,同乙個房間中的人可以接收到其他人的訊息。3,每個房間的操作必須是順序性 這個特性類似與一般遊戲的回合制...
遊戲伺服器架構設計
一 棋牌類伺服器的特點 1,棋牌類不分割槽不分服 一般來說,棋牌遊戲都是不分割槽不分服的。所以棋牌類伺服器要滿足隨著使用者量的增加而擴充套件的需要。2,房間模式 即在同一局遊戲中就是在同乙個房間中,同乙個房間中的人可以接收到其他人的訊息。3,每個房間的操作必須是順 序性 這個特性類似與一般遊戲的回合...