教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

什么是Socket?什么是Socket套接字?

更新時(shí)間:2021年12月02日10時(shí)06分 來源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

學(xué)習(xí)Socket之前首先需要了解一下TCP/IP協(xié)議,TCP/IP協(xié)議是TCP和IP協(xié)議的合稱,TCP(Transfer Control Protocol,傳輸控制協(xié)議)是一種穩(wěn)定可靠的傳送方式,TCP負(fù)責(zé)發(fā)現(xiàn)傳輸?shù)膯栴},一有問題就發(fā)出信號(hào),要求重新傳輸,直到所有數(shù)據(jù)安全正確地傳輸?shù)侥康牡貫橹?。而IP是給互聯(lián)網(wǎng)的每一臺(tái)聯(lián)網(wǎng)設(shè)備規(guī)定一個(gè)地址。

TCP/IP協(xié)議包含因特網(wǎng)整個(gè)TCP/IP協(xié)議簇。在應(yīng)用層面的包括TFTP、HTTP、SNMP、FTP、SMTP、DNS、Telnet 協(xié)議等。

Socket的英文原義是“孔”或“插座”。在程序方面,可理解為接口對(duì)象,在網(wǎng)絡(luò)編程中通常也稱作“套接字”,常用于描述IP地址和端口等。Socket是支持TCP/IP的網(wǎng)絡(luò)通信的基本操作單元,可以看作是不同主機(jī)之間的進(jìn)程進(jìn)行雙向通信的端點(diǎn),簡(jiǎn)單地說就是通信兩方的一種約定。作為一個(gè)抽象的概念,簡(jiǎn)單理解,Socket就是對(duì)TCP/IP協(xié)議的封裝,Socket本身并不是協(xié)議,而是一個(gè)調(diào)用接口(API)。

Socket中包含了進(jìn)行網(wǎng)絡(luò)通信必需的5種信息:連接使用的協(xié)議、客戶端設(shè)備的IP地址、客戶端的端口號(hào)、服務(wù)器端的IP地址、服務(wù)器端口。

Socket需要使用套接字地址來開展工作,套接字地址就是IP地址和端口號(hào)的組合,套接字服務(wù)與其他網(wǎng)絡(luò)服務(wù)不同,不需要處理網(wǎng)絡(luò)中的GET或POST請(qǐng)求,而是采用點(diǎn)對(duì)點(diǎn)傳輸數(shù)據(jù)方式,是一個(gè)輕量級(jí)的網(wǎng)絡(luò)通信解決方案。在套接字服務(wù)中,服務(wù)器用監(jiān)聽連接,客戶端用來打開一個(gè)到服務(wù)器的連接,服務(wù)器和客戶端都需要一個(gè)唯一的IP地址和端口號(hào)組合。

下面通過一幅圖來演示Socket的簡(jiǎn)單模型,如圖6-3所示。

1638348122793_socket模型.jpg

圖6-3 Socket簡(jiǎn)單模型

在圖6-3中,客戶端設(shè)備首先通過瀏覽器訪問服務(wù)器設(shè)備,并且將自己的IP地址和端口號(hào)192.16.43.27:500放入瀏覽器的Socket對(duì)象中,當(dāng)服務(wù)器軟件需要向客戶端返回?cái)?shù)據(jù)時(shí),首先從Socket對(duì)象中取出客戶端的IP地址和端口號(hào),再發(fā)送數(shù)據(jù),由此可以看出,Socket可以理解為一個(gè)封裝了IP地址和端口號(hào)的接口對(duì)象而已。




猜你喜歡:

socket概念和socket通信原理

WebSocket分析及實(shí)踐

什么是變量提升和函數(shù)提升?真題演示

什么是HTTP協(xié)議?如何查看HTTP消息?

傳智教育HTML+前端開發(fā)培訓(xùn)

0 分享到:
和我們?cè)诰€交談!