3
我正在使用Python中的套接字,并且正处于开发阶段,我需要频繁地终止并重新启动我的程序。Socket关闭和重新绑定 - 如何避免漫长的等待?
问题是,一旦我的python脚本死亡,我必须等待很长时间才能重新绑定侦听套接字。这里有一个片段重现该问题:
#!/usr/bin/env python3
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 4321))
try:
s.listen(5)
while True:
(a, b) = s.accept()
print(a.recv(1000))
except KeyboardInterrupt:
print("Closing")
s.shutdown(socket.SHUT_RDWR)
s.close()
击中C-¼的运行,除了代码,调用shutdown
和close
功能,但我不能重新启动我的程序,直至插槽超时(GNU/Linux环境)。
我该如何避免这种情况?
S = socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1) s.bind((socket.gethostname(),4321)) 即作品。哥们,谢啦! – 2010-02-28 15:26:35