, связанных с моим последним сообщением (которое каким-то образом было помечено и закрыто), Я написал код для создания потока для обработчика команд для моего прослушивателя TCP на Python. Что в основном происходит, так это то, что я отправляю некоторые данные и идет в TCP-подключении. Затем TCP-коннектор создает другой процесс и отправляет данные, полученные им через процесс, в функцию в прослушивателе команд. Я не знаю, что происходит. Пожалуйста помоги!Многопроцессор с Python и Аргументы
import socket
import sys
import errno
from multiprocessing import Process, Queue # @UnresolvedImport
import CommandHandler
class tcpconnection:
def tcp(self):
data = ''
q = Queue()
p = Process(target=CommandHandler.CommandHandler.commands(), args=(self, data))
#
HOST = '' # Symbolic name meaning all available interfaces
PORT = 9999 # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print('Connected by', addr)
while True:
data = conn.recv(1024)
p.start()
p.join()
if not data: break
conn.send(data)
conn.close()
Говорит, что:
p = Process(target=CommandHandler.CommandHandler.commands(), args=(self, data))
TypeError: unbound method commands() must be called with CommandHandler instance as first argument (got nothing instead)
Но как мне создать новый процесс или закрыть старый? – waco001
вам нужно создать новый экземпляр процесса каждый раз. действительно ли вы хотите начать новый процесс для каждого полученного пакета? как правило, вы сделаете это для каждого принятого соединения ... – mata
mata, как бы я по-прежнему передавать строки другому процессу? С помощью одного процесса? Thx – waco001