作者mycallmax (阿冠)
看板b95902HW
標題[分享] Bind: Address Already in Use
時間Wed Apr 22 20:41:14 2009
寫計網作業的時候
在剛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
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.245.9
※ 編輯: mycallmax 來自: 140.112.245.9 (04/22 20:42)
1F:推 goingon:認真推! 04/22 20:52
2F:推 locationc:.....也太認真了吧 04/22 23:12
3F:推 kuokuo321:推~~~以前遇到bind超困擾的! 04/22 23:27
4F:推 edwardhw:推一個 04/23 00:37
5F:→ robertshih:耶 04/28 14:54