服務端:考慮到服務端重啓或多宿,爲socket設置SO_REUSEADDR基本成爲一個定律
客戶端:客戶端不多有必要bind端口,不bind時內核自動爲你分配可用的端口html
若是服務端的程序關閉後,端口不能立刻釋放掉,須要等一會才能小時,在這之間再啓動服務程序是起不來的,可是能夠用這個函數,邊面這種狀況,服務程序關閉後,能夠立刻再起一次,不會衝突了。
setsockopt(listenfd,SOL_SOCKET,SO_REUSEADDR,&opt,sizeof(&opt));socket
原帖地址:http://bbs.chinaunix.net/thread-2030722-1-1.html函數