python中的多个TCP连接

python中的多个TCP连接,python,sockets,python-3.x,tcp,Python,Sockets,Python 3.x,Tcp,我正在尝试为聊天程序编写一个服务器。我希望服务器与每个聊天用户都有tcp连接。有没有办法让服务器同时拥有多个tcp连接而不为每个连接创建套接字?如果是,怎么做?否。与UDP套接字不同,TCP套接字是面向连接的。无论将什么数据写入套接字,“神奇地”显示为数据流从另一端的套接字中流出。为此,两个套接字都维护一个虚拟连接,一个状态。除其他外,状态定义了连接的两个端点—IP和两个套接字的端口号。因此,单个TCP套接字只能与另一端的单个TCP套接字通信 另一方面,UDP套接字基于每个数据包(无连接)进行操

我正在尝试为聊天程序编写一个服务器。我希望服务器与每个聊天用户都有tcp连接。有没有办法让服务器同时拥有多个tcp连接而不为每个连接创建套接字?如果是,怎么做?

否。与UDP套接字不同,TCP套接字是面向连接的。无论将什么数据写入套接字,“神奇地”显示为数据流从另一端的套接字中流出。为此,两个套接字都维护一个虚拟连接,一个状态。除其他外,状态定义了连接的两个端点—IP和两个套接字的端口号。因此,单个TCP套接字只能与另一端的单个TCP套接字通信

另一方面,UDP套接字基于每个数据包(无连接)进行操作,允许您使用相同的套接字向任何目的地发送接收数据包。但是,UDP不能保证可靠性和有序交付


顺便说一句,你的问题与python无关。所有套接字(原始套接字除外)都是操作系统套接字,在所有语言中都以相同的方式工作。

您最好也使用TCP进行数据传输。在UDP中实现可靠性和顺序并不简单。如果没有这些功能,数据将丢失或无序到达为什么不打开多个套接字?在所有语言中都有使用多个套接字的方法。我不希望聊天室有用户限制。我已经试着为每个用户生成一个套接字,但结果是一片混乱,所以我现在将使用UDP。也许我稍后会回到TCP。