回覆列表
  • 1 # kfpkg25533

    三者從本質上來說沒有可比性,  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協議的相關只是,用博大精深來講我想也不為過,單單查一下網上關於此類只是的資料和書籍文獻的數量就知道,

  • 2 # maimi32709

    插口包含了埠,因為插口 = (IP地址,埠號)。插口是TCP連線的端點。插口(socket)有多種意思。當使用API時,插口往往被看成是作業系統的一種抽象,這時,插口和一個檔案描述符是很相似的,並且是應用程式設計介面API的一部分。插口由應用程式產生,並指明它將由客戶還是伺服器來使用。當應用程序建立一個插口時,要指明該插口使用的埠號。埠則是應用層服務的的一種代號,它用來標誌應用層的程序。埠是一個16 bit的整數。各種伺服器使用的埠號都是保留埠號,以便使客戶能夠找到伺服器。例如全球資訊網伺服器使用的埠號是80。在傳送資料時,應用層的資料透過埠向下交付到運輸層。在接收資料時,運輸層的資料透過適當的埠向上交付到應用層的某個應用程式。謝謝你看完我的回答

  • 中秋節和大豐收的關聯?
  • 老年人體檢檢查血液,糖化血紅蛋白結果值3.7,是否為低血糖?