Socket 與 Http區別 優缺點及應用場景

ShowMeYourCode發表於2015-11-03

(轉自 http://www.tuicool.com/articles/am2eYnB)

Socket實現伺服器與客戶端之間的物理連線,並進行資料傳輸。主要有TCP/UDP兩個協議。Socket處於網路協議的傳輸層。


TCP:傳輸控制協議,面向連線的的協議,穩定可靠。當客戶和伺服器彼此交換資料前,必須先在雙方之間建立一個TCP連線,之後才能傳輸資料。
UDP:廣播式資料傳輸,UDP不提供可靠性,它只是把應用程式傳給IP層的資料包傳送出去,但是並不能保證它們能到達目的地。由於UDP在傳輸資料包前不用在客戶和伺服器之間建立一個連線,且沒有超時重發等機制,故而傳輸速度很快。
優點:1.傳輸資料為位元組級,傳輸資料可自定義,資料量小。相應的移動端開發,手機費用低
   2.傳輸資料時間短,效能高
   3.適合C/S之間資訊實時互動
   4.可以加密,資料安全性高
缺點: 1.需要對傳輸的資料進行解析,轉化為應用級的資料
      2.對開發人員的開發水平要求高
    3.相對於Http協議傳輸,增加了開發量

Http請求主要有http協議,基於http協議的soap協議,常見的http資料請求方式有get和post,web服務

優點:1.基於應用級的介面使用方便
   2.要求的開發水平不高,容錯性強
缺點: 1.傳輸速度慢,資料包大。
    2.如實現實時互動,伺服器效能壓力大
    3.資料傳輸安全性差

Socket適用場景:網路遊戲,銀行互動,支付。
http適用場景:公司OA服務,網際網路服務。

相關文章