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