回覆列表
  • 1 # 一個殺豬的詩人

    三者從本質上來說沒有可比性,  socket則是對TCP/IP協議的封裝和應用(程式設計師層面上)。  也可以說,TPC/IP協議是傳輸層協議,主要解決資料如何在網路中傳輸,  而HTTP是應用層協議,主要解決如何包裝資料。  關於TCP/IP和HTTP協議的關係,網路有一段比較容易理解的介紹:  “我們在傳輸資料時,可以只使用(傳輸層)TCP/IP協議,但是那樣的話,如果沒有應用層,便無法識別資料內容。  如果想要使傳輸的資料有意義,則必須使用到應用層協議。  應用層協議有很多,比如HTTP、FTP、TELNET等,也可以自己定義應用層協議。  WEB使用HTTP協議作應用層協議,以封裝HTTP文字資訊,然後使用TCP/IP做傳輸層協議將它發到網路上。”  而我們平時說的最多的socket是什麼呢,實際上socket是對TCP/IP協議的封裝,Socket本身並不是協議,而是一個呼叫介面(API)。  透過Socket,我們才能使用TCP/IP協議。  實際上,Socket跟TCP/IP協議沒有必然的聯絡。  Socket程式設計介面在設計的時候,就希望也能適應其他的網路協議。  所以說,Socket的出現只是使得程式設計師更方便地使用TCP/IP協議棧而已,是對TCP/IP協議的抽象,  從而形成了我們知道的一些最基本的函式介面,比如create、listen、connect、accept、send、read和write等等。  網路有一段關於socket和TCP/IP協議關係的說法比較容易理解:  “TCP/IP只是一個協議棧,就像作業系統的執行機制一樣,必須要具體實現,同時還要提供對外的操作介面。  這個就像作業系統會提供標準的程式設計介面,比如win32程式設計介面一樣,  TCP/IP也要提供可供程式設計師做網路開發所用的介面,這就是Socket程式設計介面。”  關於TCP/IP協議的相關只是,用博大精深來講我想也不為過,單單查一下網上關於此類只是的資料和書籍文獻的數量就知道,

  • 中秋節和大豐收的關聯?
  • 汽車提前90天年檢,下次年檢日期怎麼算?