def __init__(self): config = ConfigParser.RawConfigParser() config.read("config.ini") self.username = config.get('user', 'username'); self.broadcastAddress = config.get('network', 'broadcastAddress') self.UDPPort = int(config.get('network', 'UDPPort')) self.TCPPort = int(config.get('network', 'TCPPort')) self.WebSocketPort = int(config.get('network', 'WebSocketPort')) try: self.privateKeyPath = config.get('user', 'privateKey') if os.path.isfile(self.privateKeyPath): self.rsaKey = RSA.importKey((open(self.privateKeyPath, "r")).read()) if self.rsaKey is not None : print "RSA Key loaded successfully" else: self.rsaKey = None print "no private found, generate one for distributed score system" except ConfigParser.NoOptionError: pass self.config = config self.breceiver = BroadcastListener(self) self.net = Network.Instance() self.net.setBroadcastAddress(self.broadcastAddress) self.net.setUDPPort(self.UDPPort) self.net.setTCPPort(self.TCPPort) self.net.setWebSocketPort(self.WebSocketPort) self.net.setMain(self) self.webClient = None; self.startGame = False self.board_sent_to_player = False self.user = AsyncUser(self) self.broadcastReceived = [] self.lastBroadcastedMsg = "" signal.signal(signal.SIGINT, self.signal_handler) self.die = False #self.gameLoopThread = Thread(target=self.run) #self.gameLoopThread.start() Thread(target=self.startWebclient).start() self.startNetwork()
def setWebClient(self, client): print "new webclient" self.user = AsyncUser(self) self.user.setWebClient(client);