複数のポートで実行しようとしている Twisted ソケットがあります。次のコードは以前は機能していましたが、覚えていれば、それ以来コードに触れていないため、約 1 か月前のことです。Twisted プログラムにコードを再入力した後、もう機能しません。
class Socket(Protocol):
table = Table()
def connectionMade(self):
#self.transport.write("""connected""")
self.factory.clients.append(self)
print "Clients are ", self.factory.clients
def connectionLost(self, reason):
self.factory.clients.remove(self)
def dataReceived(self, data):
#print "data is ", data
a = data.split(':')
if len(a) > 1:
command = a[0]
content = a[1]
if command == "Number_of_Players":
msg = table.numberOfPlayers
print msg
for c in self.factory.clients:
c.message(msg)
def message(self, message):
self.transport.write(message)
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()
通常は、設定した範囲内で何度でも Blackjack server started が表示されますが、現在は表示されません。ループしているかどうかをテストするために、i を出力しようとしましたが、0 しか出力されませんでした。何らかの理由で、for ループは 1 回しかループしませんでした。
助言がありますか?ありがとう!