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  ,然后输入密码回车即可切换用户。)

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

时间: 2024-10-06 23:43:40

Linux下监听或绑定(bind)21端口失败的相关文章

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

问题:写了一个程序,尝试在843端口监听,结果在执行bind的时候失败了 原来,系统不允许用户程序在1-1024端口监听,因为他们是知名端口. 解决办法: 换成root用户,即可成功bind.(ubuntu下命令为:sudo su  ,然后输入密码回车即可切换用户.) sudo java -jar

NodeJs在linux下监听端口时抛错Error: listen EACCES

[email protected]:~/nodejs/lesson$ node random.js Random Number Generator Running- events.js:72         throw er; // Unhandled 'error' event               ^ Error: listen EACCES     at errnoException (net.js:904:11)     at Server._listen2 (net.js:102

Linux文本模式下监听鼠标事件

Linux文本模式下监听鼠标事件,这里是通过gpm这个来实现的,代码如下: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <unistd.h> 4 #include <gpm.h> 5 6 void main(int argc,char **argv) 7 { 8 fd_set readset; 9 Gpm_Event event; 10 Gpm_Connect conn; 11 12 conn.

vue 如何在循环中 &quot;监听&quot; 的绑定v-model数据

vue 如何在循环中 "监听" 的绑定v-model数据 阅读目录 vue 如何在循环中 "监听" 的绑定v-model数据 1. 普通属性的值进行监听 2. 监听对象的变化 3. 监听对象中具体属性值的变化 4. vue 如何在循环中 "监听" 的绑定v-model数据 回到顶部 1.普通属性的值进行监听 vue中提供了一个watch方法,它用于观察vue实列上的数据变动,来响应数据的变化. 下面我们来分别学习下使用watch对对象的属性值进行

Android下监听Home键

网上看到demo,亲测了以下机器和设备,均测试通过: 测试通过的手机: 1.华为荣耀3(Android 4.2.2) 2.小米2s(Android 4.1.1) 3.联想的手机 (Android2.3.5) 4.Google Nexus 5模拟器(Android 4.4.2) 核心代码: import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent;

设置IIS服务器监听特定IP的特定端口(IIS与IHS或Apache共存的解决方案)

在灾难恢复的试验中,遇到了一个IIS无法启动的情况,会报如下的错误: "The network location cannot be reached, xxxxxx" 要知道,Windows报的这种弹窗错误,也只能通过Windows自带的事件管理器里查看了.直接运行:eventvwr,打开SYSTEM项,一个大大的错误映入眼帘: 所以错误就很明显了,没有把我们的新地址添加到监听列表里... 根据搜索,发现仅仅用IIS的图形界面工具,似乎无法让IIS去监听某一个IP地址的某个端口,必须要

linux下最简单好用的的端口转发工具

linux下最简单好用的的端口转发工具官网地址 http://www.rinetd.com/软件下载wget http://www.rinetd.com/download/rinetd.tar.gz 解压安装tar zxvf rinetd.tar.gzmakemake install 编辑配置vi /etc/rinetd.conf0.0.0.0 8080 172.19.94.3 80800.0.0.0 2222 192.168.0.103 33891.2.3.4 80 192.168.0.10

linux下使用crontab实现定时PHP计划任务失败的原因分析

这篇文章主要介绍了linux下使用crontab实现定时PHP计划任务失败的原因分析,需要的朋友可以参考下 很多人在linux下使用crontab实现PHP执行定时任务却未能成功,不能生成缓存.本文就linux下使用crontab实现定时PHP计划任务失败的原因做一分析. 一般我们linux定时执行php代码例如: 1 */5 * * * * /usr/local/php/bin/php /home/wwwroot/1.php 其实这样是可以执行php代码的. 但是为什么很多朋友在1.php写的

linux下将不同线程绑定到不同core和cpu上——pthread_setaffinity_np

=============================================================== linux下的单进程多线程的程序,要实现每个线程平均分配到多核cpu,主要有2个方法 1:利用linux系统自己的线程切换机制,linux有一个服务叫做irqbalance,这个服务是linux系统自带的,默认会启动,这个服务的作用就是把多线程平均分配到CPU的每个核上面,只要这个服务不停止,多线程分配就可以自己实现.但是要注意,如果线程函数内部的有某个循环,且该循环内