我想要做的是在每个端口 1025+ 上运行以下脚本。我正在做的是制作一个与此脚本交互的 Blackjack iPhone 应用程序以进行在线游戏。问题是,我想通过更改端口来手动将其放在每个端口上,以便每次监听所有端口。我该怎么做才能在每个端口上都有一个新表。每张牌桌都有一个 ID,应用程序将检查该 ID 以查看牌桌人数和牌桌人数。
套接字为 Table 类设置 ID,但我需要在多个端口上才能保持该表继续运行并保存每个玩家的移动等。
底线,我怎样才能让这个脚本在每个端口上运行,我怎样才能自己改变监听端口,我怎样才能让python在每个端口上自己制作所有的表?
class Table:
def __init__(self, id):
self.players = []
self.positions = {'1': '', '2': '', '3': '', '4': ''}
def sit(self, player_id, position):
self.positions[position] = player_id
# --------------------------------------------- #
# --------------------------------------------- #
class Socket(Protocol):
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]
msg = ""
print msg
for c in self.factory.clients:
c.message(msg)
def message(self, message):
self.transport.write(message)
factory = Factory()
factory.protocol = Socket
factory.clients = []
reactor.listenTCP(1025, factory)
print "Blackjack server started"
reactor.run()