首頁>Club>
9
回覆列表
  • 1 # 使用者834195712159

    區別如下:

    建立Socket連線時,可以指定使用的傳輸層協議,Socket可以支援不同的傳輸層協議(TCP或UDP),當使用TCP協議進行連線時,該Socket連線就是一個TCP連線。

    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協議的,而應用層的HTTP協議又是基於傳輸層的TCP協議的,而Socket本身不算是協議,就像上面所說,它只是提供了一個針對TCP或者UDP程式設計的介面。socket是對埠通訊開發的工具,它要更底層一些.

  • 中秋節和大豐收的關聯?
  • 男生要怎麼樣才顯得有禮貌,特別是和女生在一起的時候?