[分享] Bind: Address Already in Use

楼主: mycallmax (阿冠)   2009-04-22 20:41:14
写计网作业的时候
在刚Bind某一个Port之后不能马上再Bind
Bind: Address Already in Use
要等系统把那个port真正close才行
这个其实是有办法解决的
可以用setsockopt()这个函式来解决
用法如下
int opt=1;
listenfd=socket(AF_INET, SOCK_STREAM, 0);
setsockopt(listenfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(opt));
多了setsockopt把该socket设定成可以reuse同一个port即可
但这个方法好像有个潜在的问题
不过还是可以用
详细可以参考下面文章
http://tinyurl.com/c89vep
作者: goingon (无)   2009-04-22 20:52:00
认真推!
作者: locationc (星如止水)   2009-04-22 23:12:00
.....也太认真了吧
作者: kuokuo321 (kuokuo)   2009-04-22 23:27:00
推~~~以前遇到bind超困扰的!
作者: edwardhw (我是大黄)   2009-04-23 00:37:00
推一个
作者: robertshih (施抄)   2009-04-28 14:54:00

Links booklink

Contact Us: admin [ a t ] ucptt.com