在我的 Python 套接字程序中,有时我需要使用 Ctrl-C 来中断它.当我这样做时,它会使用 socket.close()
关闭连接.
In my Python socket program, I sometimes need to interrupt it with Ctrl-C. When I do this, it does close the connection using socket.close()
.
但是,当我尝试重新打开它时,我必须等待一分钟才能再次连接.如何正确关闭套接字?还是这是故意的?
However, when I try to reopen it I have to wait what seems like a minute before I can connect again. How does one correctly close a socket? Or is this intended?
是的,这是有意的.在这里你可以阅读详细解释.可以通过在套接字上设置 SO_REUSEADDR 选项来覆盖此行为.例如:
Yes, it is intended. Here you can read detailed explanation. It is possible to override this behavior by setting SO_REUSEADDR option on a socket. For example:
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
这篇关于Python [Errno 98] 地址已在使用中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!