Dict.CN 在线词典, 英语学习, 在线翻译

学海苦作舟,书山勤为径

留下点回忆

常用链接

统计

积分与排名

Denoise

English study

Web技术

数据压缩

一些连接

最新评论

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

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

 

 sockaddr_in sock_addr;
 memset(
&sock_addr, 0sizeof(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.

记录一下。

posted on 2011-05-26 16:52 笨笨 阅读(3549) 评论(4)  编辑 收藏 引用 所属分类: NetworkLinux

评论

# re: Linux监听或绑定(bind)80端口失败[未登录] 2011-05-26 19:19 易宝@byhh

80 被http 浏览器这些服务使用了吧  回复  更多评论   

# re: Linux监听或绑定(bind)80端口失败 2011-05-26 21:44 笨笨

@易宝@byhh
浏览器是不会使用80端口的。。。  回复  更多评论   

# re: Linux监听或绑定(bind)80端口失败 2011-05-27 09:23 zuhd

绑定这么靠前的端口 干嘛呢?  回复  更多评论   

# re: Linux监听或绑定(bind)80端口失败[未登录] 2011-05-30 10:17 kuafoo

使用1024 前的端口需要root权限,可以使用root权限启动 启动后在用制定用户运行  回复  更多评论   


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理