当前位置: 技术问答>linux和unix
在Redhat上绑定端口出现错误:Cannot assign requested address
来源: 互联网 发布时间:2016-10-20
本文导语: 小弟写了一个tcp/ip的程序,在虚拟机ubuntu上运行成功;可是放到服务器(redhat) 上运行时出现Cannot assign requested address; 这个错误是下面这段代码发出的 if(bind(listenfd,(struct sockaddr*)&servaddr,sizeof(servaddr))) { fprintf(st...
小弟写了一个tcp/ip的程序,在虚拟机ubuntu上运行成功;可是放到服务器(redhat)
上运行时出现Cannot assign requested address;
这个错误是下面这段代码发出的
if(bind(listenfd,(struct sockaddr*)&servaddr,sizeof(servaddr)))
{
fprintf(stderr,"flag2:%sn",strerror(errno));
printf("Err:Server Bind Port: %d Failed!!!",SERVER_PORT);
return 0;
}
偶在网上查来一下,说是ARP攻击,可是这台服务器不是上外网啊!其他原因查了半天也没找出来!
跪求跪求!!
上运行时出现Cannot assign requested address;
这个错误是下面这段代码发出的
if(bind(listenfd,(struct sockaddr*)&servaddr,sizeof(servaddr)))
{
fprintf(stderr,"flag2:%sn",strerror(errno));
printf("Err:Server Bind Port: %d Failed!!!",SERVER_PORT);
return 0;
}
偶在网上查来一下,说是ARP攻击,可是这台服务器不是上外网啊!其他原因查了半天也没找出来!
跪求跪求!!
|
servaddr.sin_addr.s_addr = inet_addr(SERIP);
这里的SERIP定义在哪儿 如何赋值的
这里的SERIP定义在哪儿 如何赋值的
|
如果是启动的时候就出错 很可能是你的程序问题
|
肯定是你的绑定地址或者端口错误或者无效
|
你把里前面准备绑定地址和端口的代码 贴出来让大家看看吧。
你应该直接把主机的IP作为绑定地址
比如用gethostbyname()来获得ip 如果你的主机名和/etc/hosts里设置的不一致的话 就有可能出错
另外需要注意的是1024以下的端口只有root权限可以使用
你应该直接把主机的IP作为绑定地址
比如用gethostbyname()来获得ip 如果你的主机名和/etc/hosts里设置的不一致的话 就有可能出错
另外需要注意的是1024以下的端口只有root权限可以使用
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。