socket端口bind问题

socket端口bind问题
参照unp,试着运行一个简单的时间打印服务器程序,设置bind端口微13,运行起来后,却发现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

显示没bind到13端口,却bind到了一个随机的端口40700上。
后来忽然意识到1-1023是保留端口号,是不是因为13属于reserved port的原因?
修改bind端口为8000后,果然可以bind了。

原来1-1023是reserved port是以这种方式实现的,而以root权限运行程序,则可以bind上1023以下的端口。

这篇文章不错的:
http://www.cnblogs.com/zhangleiccst/archive/2011/05/14/2046465.html

你可能感兴趣的:(socket端口bind问题)