1 數據傳輸方式
1.1 socket傳輸的定義和其特色
所謂socket一般也稱做"套接字",實現服務器和客戶端之間的物理鏈接,並進行數據傳輸,主要有udp和tcp兩個協議。socket處於網絡協議的傳輸層。
udp協議:廣播式數據傳輸,不進行數據驗證
tcp協議:傳輸控制協議,一種面向鏈接的協議,給用戶進程提供可靠的全雙工的字節流。程序員
socket傳輸的特色:
優勢
1) 傳輸數據爲字節級,傳輸數據可自定義,數據量小(對於手機應用講:費用低)
2) 傳輸數據時間短,性能高
3) 適合於客戶端和服務器端之間信息實時交互
4) 能夠加密,數據安全性強
缺點:
1) 需對傳輸的數據進行解析,轉化成應用級的數據
2) 對開發人員的開發水平要求高
3) 相對於http協議傳輸,增長了開發量web
socket傳輸適用範圍
基於socket傳輸的特色 : socket 傳輸方式適合於對傳輸速度,安全性,實時交互,費用等要求高的應用中,如網絡遊戲,手機應用,銀行內部交互等apache
1.2 基於http協議傳輸的定義和其特色瀏覽器
目前基於http協議傳輸的主要有http協議 和基於http協議的soap協議(web service),常見的方式是 http 的post 和get 請求,web 服務。安全
基於http協議的傳輸特色服務器
優勢:
1) 基於應用級的接口使用方便
2) 程序員開發水平要求不高,容錯性強
缺點:
1) 傳輸速度慢,數據包大(http協議中包含輔助應用信息)網絡
2) 如實時交互,服務器性能壓力大。socket
3) 數據傳輸安全性差tcp
基於http協議傳輸的適用範圍
基於http協議傳輸的特色:基於http協議傳輸方式適合於對傳輸速度,安全性要求不是很高,且須要快速開發的應用。如公司oa系統,互聯網服務等post
WebService與Socket的區別
區別1.
Socket是基於TCP/IP的傳輸層協議。
WebService是基於HTTP協議傳輸數據的,HTTP是基於TCP的應用層協議。
區別2.
WebService採用了基於HTTP的SOAP協議傳輸數據,接口支持面向對象,最終WebService會將對象進行序列化後經過流傳輸。
Socket接口直接經過流進行傳輸,不支持面向對象。
Socket在傳輸層,WebService在應用層。。http 協議基於socket,此外,web service基於http協議和soap。
【結論】
WebService採用SOAP協議進行傳輸,底層是基於Socket通訊的。
WebService不須要針對數據流的發送和就收進行處理,是一種跨平臺的面向對象遠程調用技術。
socket和webservice都有跨平臺的優勢,可是:
socket偏底層,效率高,可是開發成本大。
webservice效率低,可是開發成本低廉。
【Socket和WebService應用場景】
[ socket ]
socket通訊的即時性比http好。socket 是基於傳輸層的,http基於應用層,socket是一切經過端口通訊的基礎(包括http)
Socket處因而OSI 7層協議中的第四層(傳輸層) Socket僅僅是傳輸層抽象在OS基礎上的一個接口而已。
適用於傳輸大數據量的數據。
缺點:因爲傳輸的數據須要手動解析,socket通訊的接口協議須要自定義,好比:自定義一種字符串拼接的格式,或者自定義的XML數據,自定義的麻煩之處在於接口調用方法和接口服務端須要相互討論肯定接口的協議內容,不方便。
優勢:適合傳輸大數據量的數據。
常重要的SOAP是應用層的一個協議,而SOAP一般綁定的Http協議也是第七層的一種協議。Socket效率高,但容易被防火牆屏蔽。
socket,提供了tcp/ip或者udp的通訊的實現,若是作標準的服務器,好比下載服務器;或者語音通訊的程序,或者視頻,文件傳輸……這些只能用socket。
單純用socket寫會很煩的,你要處理各類東西,協議的編解碼等等,因此這種狀況下推薦mina,netty或者grizzly。
[ WebService ]
WebService遵循標準的SOAP協議,SOAP協議的內容格式固定,SOAP協議傳遞的內容是XML數據,因爲WebService是基於HTTP的,因此簡單理解SOAP=HTTP+XML,由於WebService要通過兩次序列化,因此致使其傳輸速度慢,適用於沒有性能要求且數據傳輸量小的場景,推薦在公開接口上使用WebService。
webservice基於HTTP協議,所以能夠利用現有很是成熟的Web集羣來提供高負載,同比之下 socket就很是難。
webservice離不開web服務器(apache),web服務器是一個在公網上提供http通訊的服務器.webservice 通常都創建在web服務器上,以供別人調用。
WebService效率差點,走http協議,通常不會被防火牆屏蔽。
webservice,基於http協議,以xml爲載體的通訊方式。
好處:一直觀,二標準,也方便異構系統的交互。
若是想提供對外的業務訪問的接口,可能須要瀏覽器,各類語言的客戶端等各類異構系統訪問,是首選。
我以爲把socket和http、webservices等等放在一塊兒對比不是很合適,所謂http的都是對socket進行了一次包裝而已,後者更加底層。