開發人員都知道套接字,畢竟網路開發是乙個開發人員必須掌握的內容,但是對於套接字大多數程式設計師卻沒深入了解過。在剛入行的一兩年裡雖然面試會時常問到網路相關的問題,什麼osi七層模型還有什麼四層模型大多都是按照面試題背下來就完事了,在那段時間很不理解為什麼"socket"叫套接字,網上搜尋也沒有個明確的答案,很多都說得模稜兩可,還有些就是說法是最早的一些中文**中叫做套接字所以延用至今。但是我覺得看到這個結果感覺毫無意義,後來經過仔細思考用自己的方式理解了這個套接字的看法,以下就說說我是怎麼看「套接字」這個名字的。
入門的時候對網路是一塌糊塗,只知道按照文件調介面實現網路開發,在那段時間我把socket、tcp、udp 什麼的都混為一團理解。
用過socket的都知道socket是乙個網路傳輸的工具,但是按照英文翻譯過來叫做「插座」,要是結合使用環境硬翻譯過來的話我覺得叫「網路插座」這樣也還是可以理解,但是這樣名字叫起來不是那麼順口而且也有點太白話了點。不過我覺得這麼叫也是有好處的,至少這樣一聽起來比較清楚能明白它是乙個工具。
至於為什麼叫「套接字」我覺得這個應該要結合實際開發來看,下圖簡單地表現了乙個訊息傳送的過程,如果對網路協議清楚的可能一眼就會明白,「socket」其實就是幫助我們套接不同網路層協議的的工具,所以把「套接字」補全我們可以叫「套接首部字串的工具」,這樣從語義上就更加強調了它是乙個工具而並不是一種字元。但是作為乙個資深的開發人員自然要賣個關子,這樣顯得更有逼格。
什麼是套接字
常用的tcp ip協議的3種套接字型別如下所示。流套接字 sock stream 流套接字用於提供面向連線 可靠的資料傳輸服務。該服務將保證資料能夠實現無差錯 無重 送,並按順序接收。流套接字之所以能夠實現可靠的資料服務,原因在於其使用了傳輸控制協議,即tcp the transmission co...
什麼是套接字Socket
q 什麼是套接字 socket 套接字 socket 是什麼意思?應用層通過傳輸層進行資料通訊時,tcp和udp會遇到同時為多個應用程式 程序提供併發服務的問題。多個tcp連線或多個應用程式程序可能需要通過同乙個tcp協議埠傳輸資料。為了區別不同的應用程式程序和連線,許多計算機作業系統為應用程式與t...
什麼是套接字啊?
套接字,簡單的說就是通訊的兩方的一種約定,用套接字中的相關函式來完成通訊過程 應用層通過傳輸層進行資料通訊時,tcp和udp會遇到同時為多個應用程式程序提供併發服務的問題。多個tcp連線或多個應用程式程序可能需要通過同乙個 tcp協議埠傳輸資料。為了區別不同的應用程式程序和連線,許多計算機作業系統為...