導(dǎo)語
最近筆者總是有一顆騷動的心不停地跳躍著势似,那就是想獨立開發(fā)一款小型的網(wǎng)游歌豺。獨立開發(fā)網(wǎng)游推穷,簡直是我的天!對于個人來說實在太難了类咧,不光要客戶端這邊搞定馒铃,還得把后端服務(wù)器這邊也得搞定。雖然難痕惋,但還是想一試区宇,夢想總要有的,萬一實現(xiàn)了呢:-)
首先技術(shù)選型值戳,因為筆者對ios的Scene Kit更熟议谷,恰巧ios 8又已出來多年,所以客戶端這邊我只考慮iOS的話已完全夠啦述寡。那服務(wù)器端呢柿隙,我也是看了一些引擎,最后看下來還是網(wǎng)易的Pomelo框架比較適合我鲫凶,這款引擎不但完全開源禀崖,甚至還有比較不錯的線上demo,除了這些nodejs也是我選擇的原因螟炫,輕量便捷波附,語法簡潔,相信我能學(xué)的比較快昼钻。
測試我想要的demo
遇到問題
1.可能這個iOS demo年代久遠的原因掸屡,我一運行就掛了,當(dāng)然畢竟我是專業(yè)的ios人員然评,所以修改了一下仅财,這個ios demo可以跑出來了。修改內(nèi)容主要如下:
修改內(nèi)容
2.根據(jù)chat源碼下載與安裝指南碗淌,我成功地在本地運行起Game Server盏求。但是當(dāng)我試圖用模擬器登錄時抖锥,又一次出現(xiàn)了,問題碎罚,登錄不了磅废,并出現(xiàn)如下錯誤:
錯誤
在網(wǎng)上查找了一下原因,說是客戶端和服務(wù)器端socket.io庫版本不匹配的原因荆烈。查看一下當(dāng)前Game Server使用的socket.io庫版本:
1
2
當(dāng)前使用的pomelo2.2.5的庫里使用的socket.io 1.0以上的版本拯勉,正是因為1.0以上和客戶端這邊的socket.io不匹配才出現(xiàn)了這個問題。那么有兩種方案憔购,一種是升級ios客戶端這邊socketio庫宫峦,還有一種是降低pomelo使用的socketio版本。前者筆者嘗試了倦始,但沒有得到解決斗遏,出于能力有限的原因,如果有能解決的朋友希望能指導(dǎo)下我們鞋邑。這邊我只摸索出了第二種解決方法诵次,我查看了一下pomelo的上一個版本:
1
它使用的正是是我們想要的socket.io庫1.0以下版本。解決方案如下:
1
再次測試后枚碗,我們的ios客戶端確實可以和服務(wù)器通信了逾一,感興趣的讀者可以嘗試用自己的iphone手機和ios模擬器進行通訊。
以下是模擬器和我真機通過pomelo服務(wù)器模擬的同一個頻道的聊天肮雨。
demo.gif
修改后的ios工程地址在這:https://github.com/ronniechen888/pomelo-ioschat