您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用socket做游戲開發”,在日常操作中,相信很多人在怎么用socket做游戲開發問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用socket做游戲開發”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
三個軟件分別是前臺服務器(qt)、后臺服務器(win32)和客服端(cocos2dx)。后臺服務器的數據庫采用sqlite3(方便將數據庫集成后臺服務器里面),阻塞式TCP協議(運用等待事件函數WSAWaitForMultipleEvents)。關于客服端外網連接,我使用的是花生殼內網穿透硬件來實現。
項目業績:
服務器開發過程 ①客服端使用ODSocket跨平臺套接字,考慮到服務器多并發問題,我使用了兩天消息隊列(發送消息隊列和接收消息隊列),每條消息包含客服端套接字和數據包。 ②考慮到數據包過大丟包問題,需要對發送的數據包拆包發送,設計數據包結構[包頭,拆包碼ID,拆包編號,包身,包尾],如果檢測到拆包碼ID說明分包了,如果檢測到拆包編號為0,就放入合包容器中,從待處理容器檢測是否可以合包,如果編號不連續或者合包容器中無該拆包碼ID,放入待處理分包容器中。直到檢測到尾部特殊字符,完成合包并放入接收消息隊列中 ③數據庫存檔,每隔5分鐘保存一次全部游戲數據 ④當游戲賬號登錄從數據庫中讀取該角色數據到內存 ⑤前臺服務器只提供其他邏輯服務器相互通信,方便后面實現跨服比賽 客服端開發過程 ①完成了客服端聊天功能,主要是玩家的每一條聊天數據包括表情圖片,物品信息等等,需要講究美觀 ②完成角色導航尋路,考慮到其他玩家的動作自己也能看到,需要通過服務器轉發其他玩家的坐標 ③玩家組隊之后需要顯示隊伍信息,以及組隊狀態顯示 ④NPC對話 ⑤寵物數據存檔,及客服端讀取 ⑥坐騎顯示 ⑦戰斗邏輯 ⑧本地數據的固化
到此,關于“怎么用socket做游戲開發”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。