a example server for einx (
einx 是乙個由 golang 編寫的用於遊戲伺服器或者應用伺服器的開源框架。
設計核心:
每個模組有且僅有乙個goroutine用於處理被投遞到本模組中的訊息,在模組中的邏輯不需要考慮同步問題,簡化了邏輯開發難度,模組與模組之間可以通過rpc互動
首先安裝 einx
git clone
建立乙個簡單的einx例子:
einx的核心是module,module中可以新增各種component作為元件:
cyinx/einx/network 網路相關的componentcyinx/einx/db 資料庫相關的component
建立乙個tcpserver的component管理器:
建立乙個邏輯module,並將tcpserver管理器加入到module之中,伺服器就可以啟動,並監聽2345埠的請求
註冊訊息handler與rpc: 註冊訊息handler需要事先註冊乙個message:
在註冊rpc時,使用字串作為rpc名,註冊handler時,需要使用之前註冊的msgid
import( "msg_def"
)var
logic = einx.
getmodule
("logic"
)func
initdbhandler
() func
testrpc
(sender
inte***ce
{},
args
inte***ce
{})
func
checkversion
(agent
agent
, args
inte***ce
{})
註冊定時器使用module.addtimer函式,返回值為timerid,如果要提前停止timer,可以執行module.removetimer(timerid):
import( "msg_def"
)var
logic = einx.
getmodule
("logic"
)var
testtimerid
uint64= 0
func
initdbhandler
() func
testrpc
(sender
inte***ce
{},
args
inte***ce
{})
}func
testtimer
(args
inte***ce
{})
func
checkversion
(agent
agent
, args
inte***ce
{})
原文發布時間為:2018-10-29
golang語言社群」,了解相關資訊可以關注「
golang語言社群」。
SGAME 乙個簡單的go遊戲服務端框架
sgame是乙個由go實現的遊戲簡單服務端框架。主要是使用go豐富的庫資源和較高的開發效率。目錄 架構與配置 多語言接入 簡單客戶端 連線選項 日誌系統 新加程序1 新加程序2 監控管理 基本框架 框架提供了乙個管理端用來簡單的監控各程序狀況,同時提供一些控制命令,比如過載配置,設定prof等來設定...
用express搭建乙個小遊戲伺服器環境
小遊戲主題部分採用到的js庫為 jquery,因為涉及到比較多的dom操作。主要做法為 html css js。主要資料夾為index.html和paoku,paoku資料夾裡有images js css 涉及到請求介面,所以需要搭建乙個伺服器環境,詳細操作文件 一 步驟 1 npm install...
乙個簡單的遊戲伺服器框架
最近一段時間不是很忙,就寫了乙個自己的遊戲伺服器框架雛形,很多地方還不夠完善,但是基本上也算是能夠跑起來了。我先從上層結構說起,一直到實現細節吧,想起什麼就寫什麼。第一部分 伺服器邏輯 伺服器這邊簡單的分為三個部分,客戶端的連線首先到達閘道器伺服器,閘道器這裡有個執行緒用來監聽來自與客戶端的連線,然...