linux socket 能bind两次吗?我已经close了,但不能绑定第二次

如题所述

必须不能,若要第二次绑定,必须将第一次的close,而系统释放这个socket资源是需要一段时间的所以bind之前执行
int tmp = 1;
setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &tmp, sizeof(int));
目的是设置套接字属性为,当tmp非0的时候重用bind中的地址
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-03
必须不能,若要第二次绑定,必须将第一次的close,而系统释放这个socket资源是需要一段时间的所以bind之前执行
第2个回答  2011-06-02
不能bind两次、应该是你没有完全的close socket