免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2147 | 回复: 8
打印 上一主题 下一主题

socket 的bind 问题!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-09-29 14:19 |只看该作者 |倒序浏览
请大家帮一下忙,我现在正编写的一个程序,想要通过在客户端增加一个bind函数,使客户端指定的ip和端口与服务器建立连接,编译连接成功。但是我一停掉客户端、服务器端的程序,再想重新启动的话,得等最低10多分钟,才可以运行。否则就提示错误“Address Already in use”,是不是
bind的端口释放要好长时间,我怎么办才能让我重启后马上可以建立连接?在这先谢谢了!!

论坛徽章:
0
2 [报告]
发表于 2003-09-29 14:28 |只看该作者

socket 的bind 问题!!!

如果是linux/unix,可以用lsof -i :port查看邦定的进程
然后kill掉就可以了,windows不清楚

论坛徽章:
0
3 [报告]
发表于 2003-09-29 14:34 |只看该作者

socket 的bind 问题!!!

int n=1;
setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &n, sizeof(int))

加上这句即可

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-09-29 14:53 |只看该作者

socket 的bind 问题!!!

楼上所说没错,设置选项便可。
fanghb 该用户已被删除
5 [报告]
发表于 2003-09-29 14:54 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2003-09-29 15:28 |只看该作者

socket 的bind 问题!!!

楼上的没有看清楼主遇到的问题吧,以前我也被这个问题困绕过

论坛徽章:
0
7 [报告]
发表于 2003-09-30 17:00 |只看该作者

socket 的bind 问题!!!

jj if( (sockfd = socket(AF_INET, SOCK_STREAM, 0) ) == -1 )
{
        perror("socket call failed";
        exit(1);
}

int n=1;
setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &n, sizeof(int));

if(bind(sockfd, (struct sockaddr*)&server, SIZE) == -1)
{
        perror("bind call failed";
        exit(1);
}

/*开始监听接入的连接*/
if(listen(sockfd, 5) == -1)
{
        perror("listen call failed";
        exit(1);
}

我这样也不行呀!
如果结束掉进程,紧接着启动进程还是 提示“Address Already in use”

论坛徽章:
0
8 [报告]
发表于 2003-10-05 13:26 |只看该作者

socket 的bind 问题!!!

怎么还没有人帮忙回答一下

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
9 [报告]
发表于 2003-10-08 14:51 |只看该作者

socket 的bind 问题!!!

出错的时候,用
netstat -a看看这个端口处于什么状态
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP