Я настраиваю прокси-сервер, который будет принимать входные данные от ретранслятора клиента (-ов), которые запрашивают сервер, а затем пересылать ответ обратно клиенту.Проблема, с которой я сталкиваюсь, заключается в том, как общаться с несколькими клиентами одновременно.Я пытаюсь использовать многопоточность Python, но мне не удалось.Мой код выглядит следующим образом:
while True:
(client_socket, addr) = self.sock.accept()
t = threading.Thread(target=self.thread_start(client_socket))
t.start()
Где thread_start () начинает выполнять операции общения с клиентом.
Этот код будет принимать несколько клиентов, но каждый клиент должен ждать ранееподключенный клиент должен быть закрыт перед возможностью отправки данных.
Я знаю, что sock.accept () будет принимать несколько клиентов, но, похоже, он просто помещает их в очередь до завершения предыдущего.Есть ли способ разговаривать с несколькими клиентами одновременно?
Редактировать: Мне показалось, что я получил правильное поведение, просто изменив
t = threading.Thread(target=self.thread_start(client_socket))
t.start()
с помощью
import _thread
_thread.start_new_thread(self.thread_start, (clientsocket,))