現在就講一下是如何快速開發遊戲後台的。
現在假設你以經在網上找到了相應的完成埠**,有了自己的socket**庫。那麼接下來就是要引用這個動態庫了。將標頭檔案gxddsr.h和zsddsrdll.lib加入到你的工程中。然後呢還是南要簡單的寫幾行**的。在寫之前呢,還是先來看一下介面是什麼樣的,開啟gxddsr.h,內容不多,裡面宣告了三個函式,如下:
extern int initddsr(hinstance _hinstance) ;
extern int ddsrmsg(dword _dwmsgid ,string _req , string &_ack) ;
extern void releaseddsr() ;
哦!賣糕的,竟然一行注釋都沒有。呵呵,別急,函式的說明在說明文件中是可以找到了。摘錄如下:
介面://初始化函式
//引數說明:_hinstance傳入空,則載入同名的xml檔案.
extern int initddsr(hinstance _hinstance) ;
//訊息處理函式。
//引數說明 _dwmsgid 訊息id號.需要與xml中的相對應(例如 msgitem id= "123"),_req 請求的protobuf訊息包._ack應答protobuf訊息包;
//返回值: >=0 正確執行 ; <0 出錯 ; -3000 達到最大呼叫次數,重啟程式或取使用新版本。
extern int ddsrmsg(dword _dwmsgid ,string _req , string &_ack) ;
//釋放資源函式
extern void releaseddsr() ;
看到了吧,實際上介面一點都不復扎,去掉中間,我們先來看兩頭,initddsr和releaseddsr函式,這兩個函式乙個在程式執行前,乙個在程式結束後分別呼叫乙個就行。如果你程式是乙個exe而不是dll的話,初始化函式填null就可了。
兩頭看完了,就瞧瞧中間的函式吧。ddsrmsg函式就是真正幹活的傢伙了,你需要在你的完成埠類中onrecv事件或者叫onmsg事件中,也就是在你的訊息處理過程中,呼叫一下這個函式。
下一章說一下配置檔案
遊戲伺服器開發 準備篇 初識遊戲伺服器開發
近期轉換了工作方向,從web開發走向了遊戲開發。此前的工作中,主要負責web分布式專案的開發,rest服務開發,幷包含一部分im系統的開發。分布式系統框架,資料庫,nosql接觸的比較多,比較雜。而新工作比較單一,主要負責遊戲伺服器的業務開發。使用的也是前輩封裝好的框架。後來發現,原來全公司都使用了...
ACE開發遊戲伺服器
在 win32 平台上最有效率的 io模型,莫過於完成埠了。csdn 上到處都是關於完成埠的問題。在 ace中對 win32 平台的完成埠有著非常好的封裝。ace中前攝式框架的 win32 實現就是使用的完成埠。我們先來看看這個框架有哪些組成部分。ace proactor 前攝器,真怪異的名字。叫非...
遊戲伺服器開發綜述 目錄
這個系列大概每天會更新一章,主要介紹如何構建乙個高效能伺服器 我們可能採用skynet的框架進行分析 之後,會涉及到很多遊戲伺服器開發的知識,可能會開放一些原始碼,也可能只會提供一些.so檔案。另外,需要注意的是,我們的伺服器主要是存放在ubuntu18.04版本中,如果導致在其它的版本出現無法使用...