青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Error

C++博客 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
  217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
網(wǎng)關(guān)服務(wù)器入網(wǎng)流程:
s1.連接網(wǎng)關(guān)管理器
s2.上報(bào)自身信息給網(wǎng)關(guān)管理器
s3.從網(wǎng)關(guān)管理器獲取自己的管理信息
*s4.按照管理信息預(yù)分配好需要的資源
s5.網(wǎng)關(guān)服務(wù)器打開(kāi)客戶端監(jiān)聽(tīng)端口
s6.網(wǎng)關(guān)服務(wù)器開(kāi)始轉(zhuǎn)發(fā)“管理器”和客戶端的數(shù)據(jù)
*網(wǎng)關(guān)服務(wù)器完全不理解來(lái)自客戶端的數(shù)據(jù)(對(duì)客戶端而言是透明的)
*網(wǎng)關(guān)服務(wù)器和“管理器”之間存在協(xié)議棧,有五個(gè)高級(jí)命令:轉(zhuǎn)發(fā),廣播轉(zhuǎn)發(fā),T下線1,T下線2,關(guān)閉網(wǎng)關(guān)
*網(wǎng)關(guān)服務(wù)器會(huì)定時(shí)給“管理器”發(fā)送心跳請(qǐng)求ping
*網(wǎng)關(guān)服務(wù)器會(huì)維護(hù)客戶端狀態(tài)機(jī):Freed、Starting、InUse、Stoping
GateWayServer抽象網(wǎng)關(guān)邏輯以及和管理器的連接,處理管理器命令,并且轉(zhuǎn)發(fā)客戶端和管理器的消息
GWClient抽象網(wǎng)關(guān)到客戶端連接,負(fù)責(zé)處理網(wǎng)關(guān)和客戶端的邏輯
網(wǎng)關(guān)啟動(dòng)后,GateWayServer會(huì)打開(kāi)監(jiān)聽(tīng)端口,當(dāng)新的連接上來(lái)以后,會(huì)創(chuàng)建一個(gè)新的GWClient對(duì)象,并且將新的socket連接郊游GWClient管理。GWClient管理客戶端和網(wǎng)關(guān)服務(wù)器之間的通訊數(shù)據(jù):接受到客戶端的數(shù)據(jù)會(huì)交由GameWayServer對(duì)象轉(zhuǎn)發(fā)到指定的管理器,GameWayServer也會(huì)將管理器發(fā)送給客戶端的數(shù)據(jù)交由GWClient發(fā)送到客戶端。
即在網(wǎng)關(guān)服務(wù)器內(nèi)部:GWClient做為客戶端的代理,GateWayServer做為管理器(邏輯服務(wù)器)的代理。
// 禁用nagles算法
int nodelay = 1;
if(ACE_OS::setsockopt(new_handle,IPPROTO_TCP, TCP_NODELAY,(char*)&nodelay,sizeof(nodelay))==-1)
{
ACE_ERROR( ( LM_ERROR, ACE_TEXT("Set socket TCP_NODELAY failed!!\n")) );
}
缺陷:
1.缺少對(duì)客戶端的安全檢測(cè),也許是放到后面的邏輯服務(wù)器上去做了。不能排除惡意連接,或者誤操作的連接,所有的連接都被accept上來(lái),然后做數(shù)據(jù)交換。
2.數(shù)據(jù)的分發(fā)上,好像一個(gè)網(wǎng)關(guān)服務(wù)器只能對(duì)應(yīng)一個(gè)管理器(邏輯服務(wù)器)
3.網(wǎng)關(guān)只能標(biāo)識(shí)到連接(SettionID是用戶邏輯無(wú)關(guān)的),無(wú)法識(shí)別到具體邏輯客戶端
嘗試做低級(jí)抽象:
IGateWayClientAccpetor
  OnClientAccept
IGateWay2ClientSession
  SessionID
  OnConnect
  OnRead
  OnWrite
IGateWay2ManagerSession
  SessionID
  OnConnect
  OnRead
  OnWrite
  
IGateWayDataRouter
  OnAccessRouting(IGateWay2ClientSession)
  OnAccessRouting(IGateWay2ManagerSession)
  OnGateWay2ClientSessionRead(來(lái)自客戶端的數(shù)據(jù),當(dāng)前代碼下,會(huì)轉(zhuǎn)發(fā)給唯一的管理器處理)
  OnGateWay2ManagerSession(來(lái)自管理器的數(shù)據(jù),如果是需要轉(zhuǎn)發(fā)給客戶端的數(shù)據(jù),會(huì)包含有客戶端SessionId)

協(xié)議概覽:
網(wǎng)關(guān)管理服務(wù)器 協(xié)議:
enum EGWMgrMsgType
{
GWMMT_Msg, // Route server msg to clients.
GWMMT_MsgAll, // Route server msg to all clients.
GWMMT_Droped, // *A client has been droped by manager( actively or disconnect ack ).
GWMMT_DropedDiscard, // *A client has been droped by manager( actively or disconnect ack ).
GWMMT_Shutdown, // Shutdown gateway server.
GWMMT_Max,
};
GWMMT_Msg: 轉(zhuǎn)發(fā)消息到指定客戶端
GWMMT_MsgAll: 轉(zhuǎn)發(fā)廣播消息到全部客戶端
GWMMT_Droped: 網(wǎng)關(guān)管理器T掉指定客戶端
GWMMT_DropedDiscard: 網(wǎng)關(guān)管理器T掉指定客戶端
GWMMT_Shutdown: 關(guān)閉網(wǎng)關(guān)服務(wù)器
---------------------------------------------------------------------------------------
網(wǎng)關(guān)服務(wù)器 協(xié)議:
enum EGWSVMsgType
{
GWSMT_CLJoin, // New client join.
GWSMT_CLDisconnected, // Client disconnected.
GWSMT_Msg, // Route client message to server.
GWSMT_Ping, // gateway ping message to server.
GWSMT_Max,
};
GWSMT_CLJoin: 新連接客戶端
GWSMT_CLDisconnected: 客戶端連接斷開(kāi)
GWSMT_Msg: 將客戶端的消息轉(zhuǎn)發(fā)到服務(wù)器
GWSMT_Ping: 網(wǎng)關(guān)服務(wù)器到邏輯服務(wù)器的ping
-----------------------------------------------------------------------------------
網(wǎng)關(guān)服務(wù)器消息頭:
struct GWMsgHdr
{
GWMsgHdr( u_int type, u_int len ):type_( type ), data_len_(len){}
u_int type_; // Msg type.
u_int data_len_; //
};
------------------------------------------------------------------------------------
網(wǎng)關(guān)上報(bào)給網(wǎng)關(guān)管理器的自身信息
struct GWLocalInfo  // 監(jiān)聽(tīng)客戶端連接的endpoint
{
u_int addr_; // Gateway listen address.
u_short port_;
};
------------------------------------------------------------------------------------
網(wǎng)關(guān)從網(wǎng)關(guān)管理器接受的信息
struct GWInfo
{
u_int id_; // Gateway server id.
u_int cl_num_; // Client num.
};

設(shè)計(jì)特點(diǎn):
1.啟動(dòng)參數(shù)通過(guò)內(nèi)存共享,本地,可以被其他程序訪問(wèn)到,也許直接被共享到集群了,沒(méi)有深入去看
posted on 2015-03-15 22:24 Enic 閱讀(306) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 從零開(kāi)始寫(xiě)棋牌游戲平臺(tái)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲永久视频| 久久久久久久综合日本| 久久久7777| 性色av一区二区三区| 久久久久久国产精品一区| 亚洲一区二区三区成人在线视频精品 | 亚洲国产欧美不卡在线观看| 亚洲综合成人在线| 欧美黄色小视频| 欧美成人一区二免费视频软件| 狠狠综合久久| 亚洲男人的天堂在线观看| 国产精品久久久久影院色老大| 亚洲美女av在线播放| 亚洲综合第一| 美女图片一区二区| 日韩午夜高潮| 国产美女精品视频| 久久综合久久综合久久| 亚洲精品乱码视频| 欧美激情精品| 久久天堂成人| 亚洲综合大片69999| 免费成人黄色片| 亚洲欧美日本伦理| 日韩一级精品视频在线观看| 欧美成人a视频| 亚洲福利视频网站| 欧美黑人国产人伦爽爽爽| 亚洲男人影院| 亚洲欧美日韩爽爽影院| 欧美激情一区二区三区| 欧美高清视频www夜色资源网| 国产日本欧美一区二区| 欧美日韩另类一区| 欧美日韩视频第一区| 亚洲国产日韩在线| 狠狠色丁香婷婷综合影院| 亚洲精品中文字幕在线| avtt综合网| 亚洲欧美偷拍卡通变态| 亚洲欧美影院| 亚洲欧美日韩天堂一区二区| 国产精品久久| 亚洲图片在线观看| 欧美亚洲一级片| 久色成人在线| 亚洲美女精品一区| 一本久道久久综合婷婷鲸鱼| 久久久国产一区二区三区| 欧美一区二区三区的| 久久婷婷国产麻豆91天堂| 欧美在线精品一区| 欧美亚州一区二区三区| 国产精品一区在线观看| 久久蜜臀精品av| 亚洲精品视频一区| 国产亚洲毛片在线| 亚洲视频在线观看免费| 欧美大片免费观看在线观看网站推荐| 久久免费99精品久久久久久| 欧美视频在线看| 一区二区三区四区五区视频| 美国成人直播| 日韩视频在线播放| 一区二区三区在线观看欧美| 亚洲欧美日韩一区二区在线 | 欧美午夜视频在线| 欧美成人免费全部| 国产欧美va欧美va香蕉在| 亚洲国产一区二区三区高清| 国产欧美日韩一区| 亚洲精品少妇网址| 亚洲国产精品视频一区| 久久视频在线看| 亚洲乱码国产乱码精品精98午夜| 激情伊人五月天久久综合| 亚洲欧美另类国产| 欧美一区二区三区在线看| 国产精品揄拍500视频| 亚洲欧洲日产国产网站| 欧美剧在线免费观看网站| 正在播放欧美一区| 欧美激情精品久久久久久大尺度| 欧美激情影音先锋| 日韩视频在线观看| 国产精品大片wwwwww| 欧美一区二区在线播放| 久久蜜臀精品av| 亚洲精品国精品久久99热一| 亚洲国产精品视频| 一区二区三区视频观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久 | 亚洲黄色有码视频| 午夜精品久久久久久久男人的天堂| 国产欧美日本| 欧美精品乱人伦久久久久久| 亚洲视频免费观看| 亚洲精品资源| 国产欧美一区二区视频| 欧美福利视频一区| 久久精品国产第一区二区三区| 一本一本a久久| 国产视频观看一区| 欧美在线看片| 在线午夜精品自拍| 亚洲精品亚洲人成人网| 免费视频亚洲| 久久在线免费观看视频| 亚洲欧美伊人| 久久精品国产91精品亚洲| 亚洲国产欧美在线人成| 午夜在线一区二区| 性欧美办公室18xxxxhd| 亚洲专区在线视频| 亚洲影院污污.| 亚洲一区三区视频在线观看| 日韩一区二区电影网| 一区二区欧美精品| 一区二区三区免费网站| 99视频国产精品免费观看| 日韩一级成人av| 在线亚洲一区观看| 欧美一区日本一区韩国一区| 欧美一区二区免费观在线| 久久超碰97中文字幕| 国内外成人免费视频| 欧美1区2区| 亚洲主播在线观看| 欧美在线中文字幕| 欧美日韩国产不卡| 久久夜色精品国产| 欧美成人免费一级人片100| 亚洲深夜av| 另类春色校园亚洲| 国产精品乱人伦中文| 伊人色综合久久天天| 欧美日本高清一区| 国产亚洲在线| 亚洲一区成人| 亚洲欧美精品在线观看| 欧美电影免费观看高清| 亚洲一区二区三区在线| 久久久一本精品99久久精品66| 欧美激情一区在线| 一区二区在线视频播放| 亚洲欧美视频一区二区三区| 欧美国产亚洲精品久久久8v| 亚洲一区二区精品在线观看| 欧美国产日本在线| 一区二区三区无毛| 老司机免费视频一区二区| 99热这里只有成人精品国产| 欧美一区二区三区视频在线观看| 亚洲精品一线二线三线无人区| 久久免费视频观看| 激情五月婷婷综合| 久久一区二区视频| 久久亚洲不卡| 亚洲人成绝费网站色www| 最新日韩在线| 亚洲国产美国国产综合一区二区 | 亚洲在线观看视频网站| 亚洲日韩第九十九页| 欧美日产一区二区三区在线观看 | 一本色道久久88综合日韩精品| 欧美高清不卡在线| 欧美精品一区二区在线观看| 亚洲一区二区3| 久久精品亚洲乱码伦伦中文| 亚洲第一天堂无码专区| 欧美日韩成人一区二区| 日韩一级不卡| 小辣椒精品导航| 久久久久久久激情视频| 极品少妇一区二区三区| 午夜精品视频在线观看| 久久久国产一区二区三区| 久久视频一区| 久久午夜国产精品| 欧美一区二区啪啪| 国产精品久久久久9999高清| 免费亚洲电影在线| 国内久久婷婷综合| 香蕉免费一区二区三区在线观看| 夜夜爽99久久国产综合精品女不卡| 一区二区三区四区五区在线| 精品动漫av| 久久久蜜臀国产一区二区| 午夜日韩在线观看| 国产伦精品一区二区三区高清版 | 国产日韩一区| 亚洲欧美日韩国产另类专区| 欧美一区二区大片| 国产亚洲人成网站在线观看| 亚洲欧美999| 美女日韩欧美| 亚洲视频在线观看免费| 国产精品亚洲精品| 性亚洲最疯狂xxxx高清|