日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网络编程--Address already in use 问题

發布時間:2024/4/19 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网络编程--Address already in use 问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

初學socket編程,好容易調好一個雙向tcp的簡單通信,一直有些不舒服的是,當程序結束后,再次運行時
總會perror拋出Address already in use的問題

網上找了找資料,

bind 普遍遭遇的問題是試圖綁定一個已經在使用的端口。該陷阱是也許沒有活動的套接字存在,但仍然禁止綁定端口(bind 返回 EADDRINUSE),它由 TCP 套接字狀態 TIME_WAIT 引起。該狀態在套接字關閉后約保留 2 到 4 分鐘。在 TIME_WAIT 狀態退出之后,套接字被刪除,該地址才能被重新綁定而不出問題。
等待 TIME_WAIT 結束可能是令人惱火的一件事,特別是如果您正在開發一個套接字服務器,就需要停止服務器來做一些改動,然后重啟。幸運的是,有方法可以避開 TIME_WAIT 狀態。可以給套接字應用 SO_REUSEADDR 套接字選項,以便端口可以馬上重用。

int on=1; if((setsockopt(fd_sock,SOL_SOCKET,SO_REUSEADDR,&on,sizeof(on)))<0) {perror("setsockopt");return(-1); }

于是結合man手冊,通過以上函數,使得端口可以立即重用

總結

以上是生活随笔為你收集整理的网络编程--Address already in use 问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。