Python 3中套接字的子类中的WinError 10038



我制作了以下类:

class Client(socket.socket):
def __init__(self):
super(Client, self).__init__()
self.settimeout(None)
self.radd = None
self.port = None
self.buffersize = None
def connect_to_server(self):
self.connect((self.radd, self.port))
def configure(self, radd:str, port=49305, buffersize=2048):
# close the socket
self.close()
# assign a new configuration
self.radd = radd
self.port = port
self.buffersize = buffersize

我用它如下:

c = Client()
c.configure('192.168.1.1')
c.connect_to_server()

但我得到了错误:〔WinError 10038〕

有人能告诉我为什么会发生这种事吗?

错误10038为WSAENOTSOCK。

试图在非套接字上执行操作。

发生这种情况是因为您在连接之前关闭了套接字。如果调用close(),则必须在此之后创建一个新的套接字。

最新更新