我有以下代码。我试图让反应堆在1025 + NUM_TABLES开始的端口上运行。问题是当我在循环中调用reactor.run()时,循环冻结。当它被注释时,循环从0到9计数,但是当它被取消注释时,它只打印0。
NUM_TABLES = 10
factories = [ ]
for i in range(0, NUM_TABLES):
print i
factory = Factory()
factory.protocol = Socket
factory.clients = []
factories.append(factory)
reactor.listenTCP(1025+i, factory)
#print "Blackjack server started"
reactor.run()
能够在不同的端口上运行新工厂需要什么?为什么反应堆停在0?它以前工作过,为什么不呢?感谢。
答案 0 :(得分:5)
请不要致电reactor.run()
,直到您的所有听众都已创建并注册为止。这意味着你是直接从你的主要剧本发出的最后一个电话;之后的一切都是回调。
澄清一下,只需将最后一行缩进一级。