我有一个简单的服务器/客户端系统。我使用netcat作为客户端测试服务器。如果在客户端退出之前停止服务器,我将无法再次启动服务器,并且会收到以下错误信息:
“[Errno 98] Address already in use”
但是,如果我先关闭客户端,然后再停止服务器,就不会出现这个问题。
我的服务器套接字工作方式如下:
“[Errno 98] Address already in use”
但是,如果我先关闭客户端,然后再停止服务器,就不会出现这个问题。
我的服务器套接字工作方式如下:
try:
s=socket
s.bind(..)
s.listen(1)
conn,addr=s.accept()
finally:
conn.close()
s.close()
在我看来,服务器没有正确关闭套接字。但我不知道如何解决这个问题。