如何处理多个客户端连接并在Python中同时响应它们?

时间:2019-02-07 23:01:30

标签: python multithreading sockets python-3.6

我正在设置一个代理,该代理将接受来自客户端的请求,该输入将请求转发给服务器,然后将响应转发回客户端。我遇到的问题是如何同时与多个客户端进行通信。我正在尝试使用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,))

0 个答案:

没有答案