TCP端口複用引起的異常,用setsockopt來解決

TCP端口複用引起的異常,用setsockopt來解決

咱們在併發鏈接一個服務端時候他會出現這種狀況python

OSError: [WinError 10048] 一般每一個套接字地址(協議/網絡地址/端口)只容許使用一次。網絡

假如端口被socket使用過,而且利用socket.close()來關閉鏈接,但此時端口尚未釋放,要通過一個TIME_WAIT的過程以後才能使用,這是TNN的至關煩銀的,爲了實現端口的立刻複用,能夠選擇setsockopt()函數來達到.併發

端口複用的實現,我在這裏用Python舉個TCP端口複用的例子,UDP套接字要作的徹底同樣。socket

咱們能夠在定義好的端口加這句tcp

from socket import 

server = socket()
server.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
server.bind(('127.0.0.1', 8000))
server.listen(5)

這樣就不會報錯了函數

相關文章
相關標籤/搜索