linux80端口没有被监听,Linux监听或绑定(bind)80端口失败

写了一个程序,尝试在80端口监听,结果在执行bind的时候失败了。

程序是这样的:

sockaddr_in sock_addr;

memset(&sock_addr, 0, sizeof(sock_addr));

sock_addr.sin_family = AF_INET;

sock_addr.sin_addr.s_addr = host_inet_addr;

sock_addr.sin_port = htons(m_local_port); //m_local_port=80

ret = bind( m_socket_fd, (const sockaddr*)&sock_addr, sizeof(sockaddr_in));

ret是-1.

然后将m_local_port改成8080成功了。突然想起来,系统不允许用户程序在1-1024端口监听,因为他们是知名端口。

那么怎么样才可以在知名端口监听呢?显然我的机器上没有再80端口运行的程序,所以一定有办法,莫非是我的程序级别不够。

于是使用su,换成root用户,结果成功bind.

记录一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值