Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 能否有多个线程使用同一端口_Python_Multithreading - Fatal编程技术网

Python 能否有多个线程使用同一端口

Python 能否有多个线程使用同一端口,python,multithreading,Python,Multithreading,我正在尝试用python编写一个多线程服务器,它可以接收多个客户端请求,然后在UDP数据包(端口53)中发送答案。我想知道这些线程是否可以同时使用53。非常感谢(这个问题可能看起来很傻,我是初学者)请不要问。改用。它已经完成了所有这类工作。如果指定“重用端口”选项,则可以将多个侦听套接字绑定到同一端口。但根据我的经验,即使这样做,只有一个套接字将接收任何给定的数据包(除非您正在接收多播数据包) 但是,通常,当您谈论“多线程服务器”时,您谈论的是使用“面向连接”协议(通过TCP,而不是UDP)的服

我正在尝试用python编写一个多线程服务器,它可以接收多个客户端请求,然后在UDP数据包(端口53)中发送答案。我想知道这些线程是否可以同时使用53。非常感谢(这个问题可能看起来很傻,我是初学者)

请不要问。改用。它已经完成了所有这类工作。

如果指定“重用端口”选项,则可以将多个侦听套接字绑定到同一端口。但根据我的经验,即使这样做,只有一个套接字将接收任何给定的数据包(除非您正在接收多播数据包)

但是,通常,当您谈论“多线程服务器”时,您谈论的是使用“面向连接”协议(通过TCP,而不是UDP)的服务器,其中有一个服务器套接字侦听连接,然后在形成连接时,它创建一个线程来处理连接

对于多线程UDP服务器,您可能会有一个套接字来排队输入请求,并且有多个线程从队列中抽出并执行工作。线程本身不需要处理套接字


(注意:根据您的平台,您可能必须使用SO_REUSEADDR。一些信息。)

Downvoter:您是否否认海报应该使用Twisted而不是自己发明的东西?
mySocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)