老網(wǎng)絡(luò)框架和新的網(wǎng)絡(luò)之間的通訊。

老的基于多線程網(wǎng)絡(luò)的腳本通訊系統(tǒng)。

老網(wǎng)絡(luò)基于zeromq線程通訊保留。接口保持不變。

基于nanomsg的服務(wù)器組件間通訊,功能同老的一樣。

client-game的通訊需要通過gate提供老網(wǎng)絡(luò)和新網(wǎng)絡(luò)的轉(zhuǎn)發(fā)。

gate-game

老網(wǎng)絡(luò)在gate上在網(wǎng)絡(luò)層 向game nano消息。如果是鏈接和斷開則通知自己的workthread,他需要管理發(fā)送的句柄。

game工作線程nano收消息,腳本邏輯處理之后nano消息給gate。

gate工作線程nano到消息,轉(zhuǎn)換成舊網(wǎng)絡(luò)封包并發(fā)回去。(無腳本處理 )

問題:無法直接使用老網(wǎng)絡(luò)框架和新網(wǎng)絡(luò)框架。框架都是基于腳本的,在通訊的雙端都有自動生成lua對象處理。

解決:

目前gate作為特殊的個體進(jìn)行配置。?

作為c-g的服務(wù)器,除了監(jiān)聽之外,并不生成腳本。消息來之后直接拋向game.

作為gate-game的服務(wù)器,除了監(jiān)聽之外,并不生成腳本。收到的消息直接轉(zhuǎn)成老網(wǎng)絡(luò)事件并發(fā)送。將作為單獨(dú)而獨(dú)立的c++功能存在。

老網(wǎng)絡(luò)轉(zhuǎn)新網(wǎng)絡(luò)將作為gate服務(wù)器獨(dú)立的功能。

是否也可以抽象出來成為單獨(dú)的功能?目前看沒有必要性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容