1. 程式人生 > >webservice和socket 的區別和比較!

webservice和socket 的區別和比較!

目前需要說服客戶使用webservice 而不是socket.

我覺得要先分別解釋下什麼是socket 什麼是webservice..這個要我該怎麼說才比較形象,讓人一定就明白.

socket 屬於7層中的那個層. 網上找了找,越看越迷糊. 有說屬於應用層的. 有說屬於傳輸和網路層的. 還有所屬於網路和傳輸之間夾層的.昏了.

webservice要怎麼敘述,才能讓人覺得不用webservice 就是一種罪過呢..

"都怪上次說到 webservice+soap 在高負載和併發的情況下回出現訊息堵塞或丟失."

 

---------------------------------------------------------------------------------------------------------------------------------------------

webservice 有一個 socket 難以比擬的優勢:

webservice基於HTTP協議,是無狀態的,因此可以例如現有非常成熟的Web叢集來提供高負載,同比之下 socket 就非常難。

 

socket其實也可以無狀態,連一下就斷開.

webservice就是這麼做的。

我覺得可以告訴使用者,用socket做,其他人未必能懂,用webservice做,你很容易能用在其他地方,其他人也很容易訪問到你。

 

昨天看到一句話:socket只是對TCP/IP協議棧操作的抽象,而不是簡單的對映關係!!!有木有!!!有木有!!!

從表面上來看,Web Service就是一個應用程式,它向外界暴露了一個能夠通過Web進行呼叫的API。這就是說,能夠使用程式設計的方法通過Web呼叫來實現某個功能的應用程式。

從深層次上看,Web Service是一種新的Web應用程式分支,它們是自包含、自描述和模組化的應用,可以在網路(通常為Web)中被描述、釋出、查詢以及通過web來呼叫。

Web Service是基於網路的、分散式的模組化元件;它執行特定的任務,遵守具體的技術規範,這些規範使得Web Service能與其它相容元件進行互操作。它可以使用標準的網際網路協議,Web Service平臺是一套標準,它定義了應用程式如何在Web上實現互操作!

不同層不能比.  webservice的實現還得溯源到socket. 做為通訊介面 webservice能實現的,socket毫無懷疑的能實現.用socket程式設計更原始更繁瑣