Python TCP线程

Python TCP线程,python,networking,tcp,udp,Python,Networking,Tcp,Udp,我有一个程序,它的结构如下 2 Threads 1 socket Thread 1: Sending data to different clients Thread 2: Receiving data from different clients 我可以为这个应用程序使用相同的插座吗? 或者我应该使用不同的端口号套接字来发送和接收数据吗?SocketServer。ThreadingCPServer模块可用于处理多线程中的tcp请求和响应 import SocketServer impor

我有一个程序,它的结构如下

2 Threads
1 socket

Thread 1:
Sending data to different clients

Thread 2:
Receiving data from different clients
我可以为这个应用程序使用相同的插座吗?
或者我应该使用不同的端口号套接字来发送和接收数据吗?

SocketServer。ThreadingCPServer模块可用于处理多线程中的tcp请求和响应

import SocketServer
import sys

class MyTCPHandle(SocketServer.StreamRequestHandler):
    def handle(self):
        do_something()

if __name__ == "__main__":
    mockserver = SocketServer.ThreadingTCPServer(('', int(sys.argv[1])), MyTCPHandle)

    mockserver.serve_forever()

描述是非常不充分的-如果有相同的客户端,您希望向其发送数据并从中接收数据,标准做法是每个连接一个套接字(TCP),或者如果您的应用程序是UDP,您实际上可以只使用一个套接字-除此之外-您必须在应用程序中执行大量的状态维护。(例如,在recvfrom中获取远程地址-将其存储在某个结构中供以后使用,并使用它发送到另一端)。此外,当您有两个线程时,任何对“共享状态应同步”的访问都会增加额外的开销。因此,除非你能具体说出你想做什么,否则很难说出一个好的策略