知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

Linux监听或绑定(bind)80端口失败

发布时间:2014-09-05 17:14:57作者:知识屋

写了一个程序,尝试在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.

记录一下。

 

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜