1. 程式人生 > >客戶端與服務端互動之socket與http協議的比較

客戶端與服務端互動之socket與http協議的比較

webservice是基於http協議的soap協議的封裝和補充,為的是提供一個公共穩定的介面。
區別:

)資料傳輸方式

1.1  socket傳輸的定義和其特點

所謂socket通常也稱作"套接字",實現伺服器和客戶端之間的物理連線,並進行資料傳輸,主要有udptcp兩個協議。socket處於網路協議的傳輸層。

udp協議:廣播式資料傳輸,不進行資料驗證

tcp協議:傳輸控制協議,一種面向連線的協議,給使用者程序提供可靠的全雙工的位元組流, 

socket 傳輸的特點:

優點

1)  傳輸資料為位元組級,傳輸資料可自定義,資料量小(對於手機應用講:費用低)

2) 傳輸資料時間短,效能高

3) 適合於客戶端和伺服器端之間資訊實時互動

4) 可以加密,資料安全性強

 缺點:

1) 需對傳輸的資料進行解析,轉化成應用級的資料

2) 對開發人員的開發水平要求高

3) 相對於http協議傳輸,增加了開發量

1.2  基於http協議傳輸的定義和其特點

目前基於http協議傳輸的主要有http協議 和基於http協議的soap協議(web service,常見的方式是 http post get 請求,web 服務

基於http協議的傳輸特點

 優點:

1) 基於應用級的介面使用方便

2) 程式設計師開發水平要求不高,容錯性強

 缺點:

1) 傳輸速度慢,資料包大(http協議中包含輔助應用資訊)

2) 如實時互動,伺服器效能壓力大。

3) 資料傳輸安全性差

(2) 各資料傳輸方式的適用範圍

2.1 socket傳輸適用範圍

基於socket傳輸的特點:socket 傳輸方式適合於對傳輸速度,安全性,實時互動,費用等要求高的應用中,如網路遊戲,手機應用,銀行內部互動等。

2.2 基於http協議傳輸的適用範圍

基於http協議傳輸的特點:基於http協議傳輸方式適合於對傳輸速度,安全性

要求不是很高,且需要快速開發的應用。如公司oa系統,網際網路服務等

一般應用的話客戶端與服務端的開發用http的比較多,因為socket只適用互動實時的應用,比如聊天工具、遊戲。具體是否適用webservice要看情況,如果應用複雜的話webservice不適合。.如果是基於http的,有webservice+soap的方式和ssh+json方式。

連結:http://blog.csdn.net/xiazdong/article/details/7730778

http://blog.csdn.net/mad1989/article/details/9147661#quote