对于一个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)