在網絡游戲開發中,通協議是免不了的一個環節 無論對於客戶端開發者還是服務器程序員而言、制定或選擇一個合適的通信協議是很有必要的 通過在最近幾個項目開發中用到的一些協議,就個人給大家總結一下 1 . 自定義二進制通信協議數據包,這種方式是最古老的方式之一,當然也可能是最省字節的通信方式, 不過面對多個通信接口, 前后端開發的定義必須要充分的溝通,協商好,而且調試起來也相對比較麻煩 2. 以字符流的方式傳輸XML或JSON 當然前幾年中在頁游開發中用XML交換數據的還是蠻多的,不過JSON相對於JSON更小更方便 3. google-protobuf 我第一個手游項目用的數據交換協議,源於谷歌公司內部使用的一款項目, 如今在手機網絡游戲逐漸取代網頁游戲的今天,在開發手機游戲中,不得不考慮一個問題: 流量,一般電信、聯通、移動運營商都是以套餐的方式定制一定的數據流量大小 ,如果還是以XML或JSON傳輸的話,在強聯網的游戲中通信幾次就會將流量消耗一大半(或許有點誇張),所以在移動端的開發中更合適以字節方式的傳輸,google-protobuf 已經幫我們封裝了很多、具體的使用方式大家可以谷歌或百度一下相關資料 4. apache thrift 源於Facebook的開源項目先如今貢獻給apache組織,與google-protobuf齊名、都以低字節數出名,不過thrift相對於google-protobuf支持的語言更多,大家可以參考這個資料http://www.ibm.com/developerworks/cn/java/j-lo-apachethrift/
文章轉載自 dmdq.org - 代碼大全: http://www.dmdq.org/thread-89-1-1.html