网络套接字(Network socket)
生活随笔
收集整理的這篇文章主要介紹了
网络套接字(Network socket)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 網絡套接字(英語:Network socket;又譯網絡套接字、網絡接口、網絡插槽)在計算機科學中是電腦網絡中進程間資料流的端點。使用以網際協議(Internet Protocol)為通信基礎的網絡套接字,稱為網際套接字(Internet socket)。因為網際協議的流行,現代絕大多數的網絡套接字,都是屬于網際套接字。
- socket是一種操作系統提供的進程間通信機制。
- 在操作系統中,通常會為應用程序提供一組應用程序接口(API),稱為套接字接口(英語:socket API)。應用程序可以通過套接字接口,來使用網絡套接字,以進行資料交換。最早的套接字接口來自于4.2 BSD,因此現代常見的套接字接口大多源自Berkeley套接字(Berkeley sockets)標準。在套接字接口中,以IP地址及端口組成套接字地址(socket address)。遠程的套接字地址,以及本地的套接字地址完成連線后,再加上使用的協議(protocol),這個五元組(five-element tuple),作為套接字對(socket pairs),之后就可以彼此交換資料。例如,在同一臺計算機上,TCP協議與UDP協議可以同時使用相同的port而互不干擾。 操作系統根據套接字地址,可以決定應該將資料送達特定的行程或線程。這就像是電話系統中,以電話號碼加上分機號碼,來決定通話對象一般。
-
中國大陸名
由于每個主機系統都有各自命名進程的方法,而且常常是不兼容的,因此,要在全網范圍內硬把進程名字統一起來是不現實的。所以,每個計算機網絡中都要引入一種起介質作用的、全網一致的標準名字空間。這種標準名字,在ARPA網中稱作套接字,而在很多其他計算機網中稱作信口。更確切地說,進程之間的連接是通過套接字或信口構成的 -
臺灣名
臺灣直接采用字面直譯,把socket依然譯成插座。
定義:
系統內部接口(內部網絡),接口描述符(抽象接口描述符)和接口地址之間的差別其實很細微,日常編程用的時候幾乎不做區別。并且詳細的網絡接口有下面幾種特征:
- 本地接口地址,由本地ip地址和(包括TCP,UDP)端口號
- 傳輸協議,例如TCP、UDP、raw IP協議,如果只是指定IP地址,那么TCP 53與UDP 53不是一個接口。
- 在類UNIX系統和Windows系統,命令行工具netstat和ss可用以查看當前系統的接口情況。
- 一個已經創建連接的接口雙方都有整數形式的接口描述符,用來唯一表示該接口。操作系統根據對方接口發過來的IP以及傳輸協議頭信息來提取接口的地址信息,并且將應用數據去除頭信息之后提交給相應的應用程序。 在很多網絡協議、教科書以及本文中,接口指的是有一個獨一無二的接口號的實體。在一些其他的文章當中,接口被叫做本地接口地址,比如..."ip和端口的結合"。在一RFC147標準中,這個定義與1971的ARPA網有關,接口指的是一個32位數字,其中偶數的是接收接口,奇數的是發送接口,但是今天通信已經可以實現雙向傳輸,在一個接口中,可以發送的同時還可以接收。
總結
以上是生活随笔為你收集整理的网络套接字(Network socket)的全部內容,希望文章能夠幫你解決所遇到的問題。