所謂套接字(Socket),就是對(duì)網(wǎng)絡(luò)中不同主機(jī)上的應(yīng)用進(jìn)程之間進(jìn)行雙向通信的端點(diǎn)的抽象。一個(gè)套接字就是網(wǎng)絡(luò)上進(jìn)程通信的一端,提供了應(yīng)用層進(jìn)程利用網(wǎng)絡(luò)協(xié)議交換數(shù)據(jù)的機(jī)制。從所處的地位來講,套接字上聯(lián)應(yīng)用進(jìn)程,下聯(lián)網(wǎng)絡(luò)協(xié)議棧,是應(yīng)用程序通過網(wǎng)絡(luò)協(xié)議進(jìn)行通信的接口,是應(yīng)用程序與網(wǎng)絡(luò)協(xié)議棧進(jìn)行交互的接口。
socket的表示方法是什么?
套接字Socket=(IP地址:端口號(hào)),套接字的表示方法是點(diǎn)分十進(jìn)制的lP地址后面寫上端口號(hào),中間用冒號(hào)或逗號(hào)隔開。每一個(gè)傳輸層連接唯一地被通信兩端的兩個(gè)端點(diǎn)(即兩個(gè)套接字)所確定。例如:如果IP地址是210.37.145.1,而端口號(hào)是23,那么得到套接字就是(210.37.145.1:23)。
socket的工作流程是什么?
要通過互聯(lián)網(wǎng)進(jìn)行通信,至少需要一對(duì)套接字,其中一個(gè)運(yùn)行于客戶端,我們稱之為 Client Socket,另一個(gè)運(yùn)行于服務(wù)器端,我們稱之為 Server Socket。根據(jù)連接啟動(dòng)的方式以及本地套接字要連接的目標(biāo),套接字之間的連接過程可以分為三個(gè)步驟[3]:
(1)服務(wù)器監(jiān)聽。
(2)客戶端請(qǐng)求。
(3)連接確認(rèn)。
1.所謂服務(wù)器監(jiān)聽,是指服務(wù)器端套接字并不定位具體的客戶端套接字,而是處于等待連接的狀態(tài),實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài)[3]。
2.所謂客戶端請(qǐng)求,是指由客戶端的套接字提出連接請(qǐng)求,要連接的目標(biāo)是服務(wù)器端的套接字。為此,客戶端的套接字必須首先描述它要連接的服務(wù)器的套接字,指出服務(wù)器端套接字的地址和端口號(hào),然后就向服務(wù)器端接字提出連接請(qǐng)求[3]。
3.所謂連接確認(rèn),是指當(dāng)服務(wù)器端套接字監(jiān)聽到或者說接收到客戶端套接字的連接請(qǐng)求,就會(huì)響應(yīng)客戶端套接字的請(qǐng)求,建立一個(gè)新的線程,并把服務(wù)器端套接字的描述發(fā)送給客戶端。一旦客戶端確認(rèn)了此描述,連接就建立好了。而服務(wù)器端套接字繼續(xù)處于監(jiān)聽狀態(tài),接收其他客戶端套接字的連接請(qǐng)求
標(biāo)簽: socket的表示方法是什么 socket的工作