日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【计算机网络】Socket

發(fā)布時(shí)間:2025/3/15 编程问答 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【计算机网络】Socket 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Socket的多重含義

應(yīng)用編程接口 API 稱為 socket API, 簡稱為 socket。

socket API 中使用的一個(gè)函數(shù)名也叫作 socket。

調(diào)用 socket 函數(shù)的端點(diǎn)稱為 socket。

調(diào)用 socket 函數(shù)時(shí)其返回值稱為 socket 描述符,可簡稱為 socket。

在操作系統(tǒng)內(nèi)核中連網(wǎng)協(xié)議的 Berkeley 實(shí)現(xiàn),稱為 socket 實(shí)現(xiàn)。

Socket的計(jì)算機(jī)網(wǎng)絡(luò)視角

Socket其實(shí)是一種軟件接口,用于進(jìn)程向計(jì)算機(jī)網(wǎng)絡(luò)發(fā)送報(bào)文或者從計(jì)算機(jī)網(wǎng)絡(luò)接收?qǐng)?bào)文。

學(xué)習(xí)過操作系統(tǒng)的概念以后我們了解了進(jìn)程的概念,所以這里就不必強(qiáng)調(diào)了。

對(duì)于計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用層的HTTP協(xié)議來說,HTTP 使用 TCP 作為它的支撐運(yùn)輸協(xié)議。

下面描述一下網(wǎng)絡(luò)通信的過程(應(yīng)用層視角):
HTTP 客戶首先發(fā)起一個(gè)與服務(wù)器的 TCP 連接。一旦連接建立,該瀏覽器和服務(wù)器進(jìn)程就可以通過Socket接口訪問 TCP。
如上比方,客戶端的Socket接口是客戶進(jìn)程與 TCP 連接之間的門,在服務(wù)器端的 Socket 接口則是服務(wù)器進(jìn)程與 TCP 連接之間的門。
客戶向它的 Socket 接口發(fā)送 HTTP 請(qǐng)求報(bào)文并從它的 Socket 接口 接收 HTTP 響應(yīng)報(bào)文。類似地,服務(wù)器從它的 Socket 接口接收 HTTP 請(qǐng)求報(bào)文和向它的 Socket 接口發(fā)送 HTTP 響應(yīng)報(bào)文。
一旦客戶向它的 Socket 接口發(fā)送了一個(gè)請(qǐng)求報(bào)文,該報(bào)文就脫離了客戶控制并進(jìn)人 TCP 的控制。TCP 為 HTTP 提供可靠數(shù)據(jù)傳輸服務(wù)。
這意味著,一個(gè)客戶進(jìn)程發(fā)出的每個(gè) HTTP 請(qǐng)求報(bào)文最終能完整地到達(dá)服務(wù)器;類似地, 服務(wù)器進(jìn)程發(fā)出的每個(gè) HTTP 響應(yīng)報(bào)文最終能完整地到達(dá)客戶。

套接字 socket=(IP地址:端口號(hào))socket = (IP地址: 端口號(hào))socket=(IP:號(hào))

每一條 TCP 連接唯一地被通信兩端的兩個(gè)端點(diǎn)(即兩個(gè)套接字)所確定。即:TCP連接::=socket1,socket2=(IP1:port1),(IP2:port2)TCP 連接 ::= {socket1, socket2} = {(IP1: port1), (IP2: port2)}TCP::=socket1,socket2=(IP1:port1),(IP2:port2)

常用到Socket架構(gòu)是C-S架構(gòu)。服務(wù)器通過監(jiān)聽指定端口,等待客戶請(qǐng)求。服務(wù)器在收到請(qǐng)求后,接收來自Socket的連接,從而完成連接。

每個(gè)Socket由一個(gè)IP地址和一個(gè)端口號(hào)組成。
客戶端發(fā)起連接請(qǐng)求后,它的主機(jī)為它分配一個(gè)端口,此端口號(hào)是一個(gè)大于1024的整數(shù)。

所有連接必須是唯一的,這確保了所有連接都由唯一一對(duì)Socket組成。

Socket的操作系統(tǒng)視角

Socket是通信的端點(diǎn),本意有“插座”的意味。

通過網(wǎng)路通信的每對(duì)進(jìn)程要使用一對(duì)Socket,即每個(gè)進(jìn)程各持有一個(gè)。

使用Socket的通信,雖然常用且高效,但是屬于分布式進(jìn)程之間的一種低級(jí)形式的通信。
一個(gè)原因是,Socket只允許通信進(jìn)程間交互無結(jié)構(gòu)的字節(jié)流,客戶端和服務(wù)器需要自己加上數(shù)據(jù)結(jié)構(gòu)。

總結(jié)

以上是生活随笔為你收集整理的【计算机网络】Socket的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。