【區別】
區別1.
Socket是基於TCP/IP的傳輸層協議。
WebService是基於HTTP協議傳輸數據的,HTTP是基於TCP的應用層協議。
區別2.
WebService采用了基於HTTP的SOAP協議傳輸數據,接口支持面向對象,最終WebService會將對象進行序列化后通過流傳輸。
Socket接口直接通過流進行傳輸,不支持面向對象。
【結論】
WebService采用SOAP協議進行傳輸,底層是基於Socket通信的。
WebService不需要針對數據流的發送和就收進行處理,是一種跨平台的面向對象遠程調用技術。
【Socket和WebService應用場景】
[ socket ]
適用於傳輸大數據量的數據。
缺點:由於傳輸的數據需要手動解析,socket通信的接口協議需要自定義,比如:自定義一種字符串拼接的格式,或者自定義的XML數據,自定義的麻煩之處在於接口調用方法和接口服務端需要相互討論確定接口的協議內容,不方便。
優點:適合傳輸大數據量的數據。
[ WebService ]
WebService遵循標准的SOAP協議,SOAP協議的內容格式固定,SOAP協議傳遞的內容是XML數據,由於WebService是基於HTTP的,所以簡單理解SOAP=HTTP+XML,因為WebService要經過兩次序列化,所以導致其傳輸速度慢,適用於沒有性能要求且數據傳輸量小的場景,推薦在公開接口上使用WebService。