【发布时间】:2011-01-22 00:41:19
【问题描述】:
我正在使用 python 中的套接字,并且处于开发阶段,我需要经常杀死并重新启动我的程序。
问题是一旦杀死了我的 python 脚本,我必须等待很长时间才能重新绑定监听套接字。这是一个重现问题的sn-p:
#!/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-z 会运行 except 代码,调用 shutdown 和 close 函数,但在套接字超时(GNU/Linux 环境)之前我无法重新启动程序。
我怎样才能避免这种情况?
【问题讨论】:
标签: python linux sockets python-3.x