這兩者均可以用於游戲服務器端和客戶端進行交互的協議,本人參與過兩款手機游戲的開發,一款是基於socket協議,一款是基於http的(AMF),想比較起來前者更高效。
一、socket 也稱”套接字”,可實現S/C之間的物理連接,並進行數據傳輸,主要有UDP和TCP兩個協議。Socket處於網絡協議的傳輸層。
優點
1)傳輸數據為字節級,傳輸數據可自定義,數據量小(對於手機應用講:費用低);
2)傳輸數據時間短,性能高;
3)適合於客戶端和服務器端之間信息實時交互;
4)可以加密,數據安全性強;
缺點:
1)需對傳輸的數據進行解析,轉化成應用級的數據;
2)對開發人員的開發水平要求高;
3)相對於Http協議傳輸,增加了開發量;
應用場景:
適合於對傳輸速度,安全性,實時交互,費用等要求高的應用中,如網絡游戲,手機應用,銀行內部交互等。
二、http 屬於應用層協議,底層是基於tcp的,是一種無連接、無狀態的網絡協議
優點:
1)基於應用級的接口使用方便;
2)程序員開發水平要求不高,容錯性強;
缺點:
1)傳輸速度慢,數據包大(Http協議中包含輔助應用信息);
2)如實時交互,服務器性能壓力大;
3)數據傳輸安全性差;
應用場景:
適合於對傳輸速度,安全性要求不是很高,且需要快速開發的應用。如web應用,小的手機游戲等等。