[分享] Bind: Address Already in Use

看板b95902HW作者 (阿冠)時間15年前 (2009/04/22 20:41), 編輯推噓4(401)
留言5則, 5人參與, 最新討論串1/1
寫計網作業的時候 在剛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)

04/22 20:52, , 1F
認真推!
04/22 20:52, 1F

04/22 23:12, , 2F
.....也太認真了吧
04/22 23:12, 2F

04/22 23:27, , 3F
推~~~以前遇到bind超困擾的!
04/22 23:27, 3F

04/23 00:37, , 4F
推一個
04/23 00:37, 4F

04/28 14:54, , 5F
04/28 14:54, 5F
文章代碼(AID): #19xn1hPB (b95902HW)