首页 > 代码库 > Linux下监听或绑定(bind)21端口失败
Linux下监听或绑定(bind)21端口失败
问题:写了一个程序,尝试在21端口监听,结果在执行bind的时候失败了。
sockaddr_in sock_addr;
sock_addr.sin_family = AF_INET;
sock_addr.sin_addr.s_addr = host_inet_addr;
sock_addr.sin_port = htons(port); //port=21
ret = bind( m_socket_fd, (const sockaddr*)&sock_addr, sizeof(sockaddr_in));
结果ret为-1
原来,系统不允许用户程序在1-1024端口监听,因为他们是知名端口。
解决办法:
换成root用户,即可成功bind。(ubuntu下命令为:sudo su ,然后输入密码回车即可切换用户。)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。