我有许多客户端需要连接到服务器并保持连接一段时间(大约 4 小时)。我不想为每个客户端指定不同的连接端口(因为它们可能有很多)我希望它们能够在特定的预定端口上连接到服务器,例如 10800 并让服务器接受和保持连接,但仍然能够接收来自新客户端的其他连接。有没有办法在 Python 中做到这一点,或者我需要重新考虑架构。
额外信用:执行此操作的服务器代码的 Python 片段将是惊人的!
我有许多客户端需要连接到服务器并保持连接一段时间(大约 4 小时)。我不想为每个客户端指定不同的连接端口(因为它们可能有很多)我希望它们能够在特定的预定端口上连接到服务器,例如 10800 并让服务器接受和保持连接,但仍然能够接收来自新客户端的其他连接。有没有办法在 Python 中做到这一点,或者我需要重新考虑架构。
额外信用:执行此操作的服务器代码的 Python 片段将是惊人的!
我不想为每个客户端指定不同的连接端口(因为它们可能有很多)
你不需要那个。
我希望他们能够在特定的预定端口(例如 10800)上连接到服务器,并让服务器接受并维护连接,但仍然能够从新客户端接收其他连接
这就是 TCP 已经工作的方式。
只需创建一个侦听端口 10800 的套接字并接受来自它的连接。
用于select.select()
检测多个套接字上的事件,例如传入连接、传入数据、传出缓冲区容量和连接错误。您可以在多个侦听套接字和来自单个线程的已建立连接上使用它。使用网络搜索,您肯定可以找到示例代码。