參照unp,試著運(yùn)行一個(gè)簡(jiǎn)單的時(shí)間打印服務(wù)器程序,設(shè)置bind端口微13,運(yùn)行起來(lái)后,卻發(fā)現(xiàn)13端口總不能bind上,查看netstat:
$ netstat -tln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address?????????? Foreign Address???????? State????? ??
tcp??????? 0????? 0 127.0.0.1:631?????????? 0.0.0.0:*?????????????? LISTEN????
tcp??????? 0????? 0 0.0.0.0:40700?????????? 0.0.0.0:*?????????????? LISTEN????
tcp6?????? 0????? 0 ::1:631???????????????? :::*??????????????????? LISTEN
顯示沒(méi)bind到13端口,卻bind到了一個(gè)隨機(jī)的端口40700上。
后來(lái)忽然意識(shí)到1-1023是保留端口號(hào),是不是因?yàn)?3屬于reserved port的原因?
修改bind端口為8000后,果然可以bind了。
原來(lái)1-1023是reserved port是以這種方式實(shí)現(xiàn)的,而以root權(quán)限運(yùn)行程序,則可以bind上1023以下的端口。
這篇文章不錯(cuò)的:
http://www.cnblogs.com/zhangleiccst/archive/2011/05/14/2046465.html