Невозможно вызвать переопределенный метод класса, который наследует `socket._socketobject`

Я пытаюсь реализовать класс, который наследует socket._socketobject, Код выглядит так:

import socket

class remote(socket._socketobject):
    def __init__(self, family=2, typ=1, proto=0, _sock=None):
        super(remote, self).__init__(family, typ, proto, _sock)

    def recv(self, numb):
        data = super(remote, self).recv(numb)
        return "I call this\n" + data

a = remote()
a.connect(('google.com', 80))
a.send('GET /\r\n\r\n')
print(a.recv(4))         # not run remote.recv() but _socketobject.recv()
print(a.recv(numb=1024)) # error TypeError: recv() takes no keyword arguments
a.close()

Я хочу использовать мой переопределенный recv() метод, но Python просто вызов _socketobject.recv(), Результат этого кода:

HTTP
Traceback (most recent call last):
  File "test.py", line 15, in <module>
    print(a.recv(numb=1024)) # error TypeError: recv() takes no keyword arguments
TypeError: recv() takes no keyword arguments

Как я могу бежать remote.recvне _socketobject.recv?

0 ответов

Другие вопросы по тегам