首先是開發語言的選擇,由于服務器是Linux的環境,MS的技術直接排除,至于MONO嘛,我實在不放心。可供選擇的是C++和Java,Java勝在網絡能力強大,開發周期短,有衆多框架和開源庫的項目管理系統支持,要寫出爛得不可接受的代碼也不容網絡遊戲取名字大全易;C++則勝在速度快。綜合各方面因素,C++更項目管理容易把這個項目變成一堆代碼噩夢,我們選擇了Java。網絡遊戲,首先面臨的問題當然協議是如何進行網絡通信。首先考慮的是HTTP協議,因爲所有的J2ME手機都支持這個,我們當然想盡可能的兼容用戶。而且HTTP協議封裝網絡遊戲排行程度已經非常高了,不用去考慮線程、同步、狀态管理、連接池,不過HTTP協議有的是的傘兩個不爽的地方:
這個項目的一個項目的英文特别之處是,客戶端是手機,用戶通過移動網絡網絡營銷與服務器通信。和PC相比,手機的處理能力極弱,網絡用語而且網絡流量費用昂貴。因爲除了要考慮普通網絡遊戲的一協議書些問題之外,這兩點也需要在設計中充分考慮。協議換愛
首先是開發語言的選擇,由于服務器是Linux的環境,MS的技術直接排除,至于MONO嘛,我實在不放心。可供選擇的是C++和Java,Java勝在網絡能力強大,開發周期短,有衆多框架和開源庫的支持,網絡詐騙要寫出爛得不可接受的代碼也不容易;C++則勝在速網絡遊戲名字排行度快。綜合各方面因素,C++更容易把的是這個項目變成一堆代碼噩夢,我們選擇了Java。
一個多人在線的棋牌類網絡遊戲的項目臨近尾聲,我參與了該項目的整個設計流程,并且完成了90%的核心代碼。
關于這個項目,有很多地方值得聊一聊。項目符号本系列不打算把這個項目将得多麽詳細規範,那是設計的是幾畫文檔應該描述的,我打算隻說說一些值得注意的地方。
一、網絡
網絡遊戲,首先面臨的問題當然是如何進行網絡通信。首先考慮的是HTTP項目經理的職責協議,因爲所有的J2ME手機都支持這個,我們當然想盡可能的兼容用戶。而且HTTP協議網絡封裝程度已經非常高了,不用去考慮線程、同步、狀态管理網絡交易監督管理辦法、連接池,不過HTTP協議有兩個不爽的地方:
◇ 協議無狀态,這個問題已經困擾過很多人很多次了。我曾考慮過的解決辦法是改造HTTP協議,在數據傳輸完成之後不關閉socket,但是這樣做工作量非常大,在項目周期中,基本上就是Mission impossible,不予考慮。那麽客戶也就隻能通過輪詢的方式向服務器請求數據。
◇項目的英文 網絡流量過大。就這個項目來說的是語素嗎,網絡遊戲實名注冊大全網絡間傳遞的隻是指令,但是每次傳遞都要加上一堆毫無用處的HTTP項目經理證書 Head,再加上客戶端需要做輪詢,這個流量對于手機來說簡協議結婚後我上戀愛綜藝爆火了直恐怖,經簡單測試,按照0.03元/K的GPRS網絡費用計算,一局牌居然要消耗1元多的費用(每秒輪詢),實在不可接受。也許我們可以采用流量費包月的資費方式,不過這個話題與技術無關。的是多音字嗎
以上問題導緻我們選擇了Soc網絡ket,這意味着我們将沒有一個web環境,很多東西都要靠自己去實現的是幾聲:線程管理、客戶狀态監控、對象池、控制台……
網絡部分打算采用Java NIO來實現,這是一種新的網絡監聽方式,基于事件的異步通信,可以提高性能。每個客戶端連接之後,會有一個獨立的SocketChannel與它通信,這個SocketChannel會在用戶的整個生存周期中存在。用戶網絡詐騙如果斷開連接,服務器會得到-1,并且會抛出Connection res網絡et異項目經理證書常,通過捕獲這兩個特征,可以在用戶意外斷開連接後清理相關的資源的是語素嗎。由于NIO是異步通信的,所以沒有複雜的線程管理。
網絡遊戲服務器端開發心得原文鏈接:https://qipaiyuanmaxiazai.com/12330.html,轉載請注明出處~~~
評論0