對於一個socket,可以設置很多不同的選項,對於那些一般用途的服務器,一個最讓人趕興趣的socket選項是SO_REUSEADDR,通常地,在一個服務器進程終止后,操作系統會保留幾分鍾它的端口,從而防止其他進程(甚至包括本服務器自己的另外一個實例)在超市之前使用這個端口,如果你設置了SO_REUSEADDR的標記為true,操作系統就會在服務器socket被關閉或者服務器進程終止后馬上釋放該服務器的端口。這樣做,可以使調試程序更簡單。
設置如下:
s = socket.socket(socket.AF_INET, socket.SOCKET_STREAM)
#setsockopt()和getsockopt()定義:setsockopt(level, optname, value) / getsockopt(level, optname[,buflen])
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)