【COCOS2DX-遊戲開發之二六】 手遊短連線
手遊採用短連線,好處自然不言而喻,所謂的短連線就是隻有需要和伺服器通訊的時候才連線伺服器,通訊完畢就斷開連線,我叫MT也採用了短連線的方式
1. 每次傳送訊息的連線伺服器和斷開伺服器也是一筆不小的開銷
2. 不適合那些大量即時資訊的手遊
1. 只在需要同步的時候才和伺服器連線傳送資料, 減少了伺服器的壓力
2. 網路不給力的時候也可以玩,資料傳送失敗可以手動重發,有限的資料足以保證非WIFI的網路也可以遊戲
短連線的流程圖
流程圖參考:流程圖/短連線流程圖.edx
短連線的訊息處理
流程圖參考:流程圖/短連線資料傳送.edx
注意:
1.兩個MsgQueue和客戶端伺服器訊息狀態state都是臨界區資源,主執行緒MainThread和訊息執行緒MsgThread不可同時訪問
2.傳送訊息:MainThread 向MsgQueue中push訊息,訊息執行緒從佇列中pop訊息 接收訊息和傳送訊息相反
3.我是用的是cosos2dx引擎,因為不支援多執行緒,所以訊息執行緒MsgThread中獲得的訊息一定要壓入到訊息佇列中,主執行緒MainThread從訊息佇列MsgQueue中獲取訊息進行處理,MsgThread不能涉及到任何Cocos2dx的操作,由主執行緒MainThread來更新介面
4.連線伺服器,向伺服器傳送資料和接收伺服器回饋的訊息都是在訊息執行緒MsgThread中處理,這樣主執行緒就可以播放等待動畫,不會出現連線伺服器過慢導致主執行緒卡死的情況
5.由於是短連線,規則就是:主執行緒一次只能push一個訊息,egmsgID=0x500 然後主執行緒處於等待訊息狀態,不斷的獲取判斷訊息執行緒msgThread返回的狀態state,只有收到伺服器回饋的msgID=0x500的相同ID的訊息時,才算訊息成功。其餘的像沒有網路,連線失敗,連線超時,接收超時等等錯誤狀態,需要提示玩家是否重發訊息,玩家選擇重發訊息,則在後臺重發最後一個傳送的訊息
短連線我也是剛接觸,如果有什麼錯誤的地方,歡迎大家指正,謝謝
轉自:http://blog.csdn.net/teng_ontheway/article/details/17999177
相關文章
- Java遊戲開發——連連看Java遊戲開發
- 遊戲開發原理——手遊開發團隊與成本遊戲開發
- 連鎖開發定製NFT連鎖遊戲開發主鏈連鎖開發遊戲開發
- BIGC 2021|國產引擎 Cocos :連線 IoT 開發者與遊戲GC遊戲
- 遊戲開發入門(一)遊戲開發概述遊戲開發
- JAVA之長連線、短連線和心跳包Java
- NFT遊戲系統開發/遊戲開發技術遊戲開發
- Swift 遊戲開發之「能否關個燈」(〇)Swift遊戲開發
- 遊戲開發效能優化之物件池遊戲開發優化物件
- 新手開發者如何著手遊戲設計? 從解剖桌遊開始!遊戲設計
- 開發者談《地平線:零之黎明》的遊戲音樂幕後遊戲
- 十名遊戲開發者告訴你什麼是「手繪遊戲」遊戲開發
- Unity遊戲雲上線,攜手騰訊雲打造一站式聯網遊戲開發平臺Unity遊戲開發
- 遊戲開發流程遊戲開發
- Facebook開發小遊戲引擎列表(下載連結)遊戲引擎
- 悠遊世界/遊戲/系統技術開發/悠遊世界養成遊戲開發解析遊戲開發
- 菜鳥學網路之 —— 長連線和短連線
- Unity遊戲示例來了,用Unity開源遊戲資源做遊戲,遊戲開發不再難!Unity遊戲開發
- 聯手華為開展合作 遊族雲遊戲平臺首發遊戲
- 智慧合約盲盒遊戲開發上線版丨智慧合約盲盒遊戲系統開發(開發案例)遊戲開發
- Swift 遊戲開發之「能否關個燈」(一)Swift遊戲開發
- 遊戲上線,流水過億?遊戲開發者的2019沒那麼簡單遊戲開發
- 長連線和短連線
- Python遊戲開發工程師的起步,幾款遊戲開發案例Python遊戲開發工程師
- 悠遊世界合成遊戲系統技術開發解析/合成遊戲/小遊戲遊戲
- 遊戲開發中遊戲效能的最佳化遊戲開發
- pygame開發小遊戲GAM遊戲
- 【IDL】開發遊戲"2048"開發遊戲
- 國外開發者怎樣利用短視訊來推廣遊戲?遊戲
- Dapp智慧合約遊戲鏈遊開發丨智慧合約遊戲鏈遊系統開發案例版APP遊戲
- Cyberdragon賽博之龍NFT遊戲系統開發案例詳細丨Cyberdragon賽博之龍遊戲開發原始碼模式Go遊戲開發原始碼模式
- 賽博之龍NFT遊戲系統開發應用詳解丨賽博之龍NFT遊戲開發原始碼流程遊戲開發原始碼
- 《無神之界》手遊神諭終測今日開啟 玩遊戲贏限量艾琳手辦遊戲
- 開啟遊戲生活新方式 惠普新品燃爆遊戲之魂遊戲
- 遊戲開發商與遊戲發行商如何保持良性關係?遊戲開發
- 科幻偵探冒險遊戲《地平線之間》正式發售遊戲
- GameFi鏈遊NFT遊戲開發示例丨GameFi鏈遊遊戲系統開發特點丨DEFI丨nftGAM遊戲開發
- NFT遊戲鏈遊系統開發技術詳細丨NFT遊戲鏈遊DAPP開發原始碼模式遊戲APP原始碼模式
- Crazy Labs推出遊戲開發者扶植計劃,與其攜手打造全球爆款遊戲遊戲開發