C語言 套接字工作流程
要通過互聯(lián)網(wǎng)進(jìn)行通信,至少需要一對套接字,其中一個(gè)運(yùn)行于客戶端,我們稱之為ClientSocket,另一個(gè)運(yùn)行于服務(wù)器端,我們稱之為ServerSockeU
根據(jù)連接啟動(dòng)的方式以及本地套接字要連接的目標(biāo),套接字之間的連接過程可以分為三個(gè)步驟:
(1)服務(wù)器監(jiān)聽。
(2)客戶端請求。
(3)連接確認(rèn)。
1.服務(wù)器監(jiān)聽
所謂服務(wù)器監(jiān)聽,是指服務(wù)器端套接字并不定位具體的客戶端套接字,而是處于等待連接的狀態(tài),實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)狀態(tài)。
2.客戶端請求
所謂客戶端請求,是指由客戶端的套接字提出連接請求,要連接的目標(biāo)是服務(wù)器端的套接字。為此,客戶端的套接字必須首先描述它要連接的服務(wù)器的套接字,指出服務(wù)器端套接字的地址和端口號,然后就向服務(wù)器端套接字提出連接請求。
3.連接確認(rèn)
所謂連接確認(rèn),是指當(dāng)服務(wù)器端套接字監(jiān)聽到或者說接收到客戶端套接字的連接請求,就會(huì)響應(yīng)客戶端套接字的請求,建立一個(gè)新的線程,并把服務(wù)器端套接字的描述發(fā)送給客戶端。一旦客戶端確認(rèn)了此描述,連接就建立好了。而服務(wù)器端套接字繼續(xù)處于監(jiān)聽狀態(tài),接收其他客戶端套接字的連接請求。
點(diǎn)擊加載更多評論>>