Я пытаюсь создать прокси-сервер, который многопоточен. Я могу сделать однопоточное одно прекрасно, но когда я пытаюсь использовать многопоточность, он каждый раз бросает эту ошибку.Объект `member_descriptor` не может быть вызван на объект сокета
Traceback (most recent call last):
File "malwareProxy.py", line 25, in newClientInteraction
request = clientSocket.recv(BUFFLEN)
TypeError: 'member_descriptor' object is not callable
У меня есть этот импорт:
import sys
import thread
from socket import *
И важные биты коды:
def newClientInteraction(clientSocket, addr):
try:
port = 80
request = clientSocket.recv(BUFFLEN)
....
serverListener = socket(AF_INET, SOCK_STREAM)
serverListener.bind(("", serverPort))
serverListener.listen(100)
print("\nProxy Server listening on port {0}...".format(serverPort))
# Start to listen for connections
while True:
(newsocket, addr) = serverListener.accept()
print("Connection made from: {0}".format(newsocket.getpeername()))
thread.start_new_thread(newClientInteraction, (socket, addr))
Пожалуйста, помогите. Я довольно новичок в python и понятия не имею, почему я получаю эту ошибку. Я просмотрел некоторые сообщения об этой ошибке, и ответы, похоже, связаны с программистом, использующим несколько файлов и импорта. Я просто использую один файл. Спасибо.
Когда вы запускаете поток, вы, кажется, проходят ** сокет ** в то время как вы создали __ (newsocket, addr) __ пара двух строк выше. Попробуйте передать ** newsletter ** в вызове __thread.start_new_thread__. – sal
Я действительно глуп! Спасибо. –
Нет, нет. Это неудачная орфографическая ошибка. Я добавил ответ: пожалуйста, примите его, если правильно. :) – sal