更新時(shí)間:2021-08-16 來(lái)源:黑馬程序員 瀏覽量:
我們思考一個(gè)問(wèn)題:不同電腦上的飛秋之間進(jìn)行數(shù)據(jù)通信,它是如何保證把數(shù)據(jù)給飛秋而不是給其它軟件呢?其實(shí),每運(yùn)行一個(gè)網(wǎng)絡(luò)程序都會(huì)有一個(gè)端口,想要給對(duì)應(yīng)的程序發(fā)送數(shù)據(jù),找到對(duì)應(yīng)的端口即可。
端口效果圖:
端口是傳輸數(shù)據(jù)的通道,好比教室的門,是數(shù)據(jù)傳輸必經(jīng)之路。
那么如何準(zhǔn)確的找到對(duì)應(yīng)的端口呢?
其實(shí),每一個(gè)端口都會(huì)有一個(gè)對(duì)應(yīng)的端口號(hào),好比每個(gè)教室的門都有一個(gè)門牌號(hào),想要找到端口通過(guò)端口號(hào)即可。
端口號(hào)效果圖:
操作系統(tǒng)為了統(tǒng)一管理這么多端口,就對(duì)端口進(jìn)行了編號(hào),這就是端口號(hào),端口號(hào)其實(shí)就是一個(gè)數(shù)字,好比我們現(xiàn)實(shí)生活中的門牌號(hào),端口號(hào)有65536個(gè)。
那么最終飛秋之間進(jìn)行數(shù)據(jù)通信的流程是這樣的,通過(guò)ip地址找到對(duì)應(yīng)的設(shè)備,通過(guò)端口號(hào)找到對(duì)應(yīng)的端口,然后通過(guò)端口把數(shù)據(jù)傳輸給應(yīng)用程序。
最終通信流程效果圖:
端口號(hào)可以標(biāo)識(shí)唯一的一個(gè)端口。
知名端口號(hào):
知名端口號(hào)是指眾所周知的端口號(hào),范圍從0到1023。
這些端口號(hào)一般固定分配給一些服務(wù),比如21端口分配給FTP(文件傳輸協(xié)議)服務(wù),25端口分配給SMTP(簡(jiǎn)單郵件傳輸協(xié)議)服務(wù),80端口分配給HTTP服務(wù)。
動(dòng)態(tài)端口號(hào):
一般程序員開發(fā)應(yīng)用程序使用端口號(hào)稱為動(dòng)態(tài)端口號(hào), 范圍是從1024到65535。
·如果程序員開發(fā)的程序沒有設(shè)置端口號(hào),操作系統(tǒng)會(huì)在動(dòng)態(tài)端口號(hào)這個(gè)范圍內(nèi)隨機(jī)生成一個(gè)給開發(fā)的應(yīng)用程序使用。
·當(dāng)運(yùn)行一個(gè)程序默認(rèn)會(huì)有一個(gè)端口號(hào),當(dāng)這個(gè)程序退出時(shí),所占用的這個(gè)端口號(hào)就會(huì)被釋放。
猜你喜歡: