def handleHiiMessage(self, msg, connection): print "Core: analiza wiadomosci Hii" for nodeFromVector in msg['VECTOR']: print "Core: dodaje wezel z wiadomosci hi: '%s'" % nodeFromVector self.__model.addNode(nodeFromVector['UID'], nodeFromVector['USERNAME'], nodeFromVector['IP_ADDRESS']) print "Core: mapuje wezel %s na polaczenie %s" % (msg['UID'], connection) if not self.__tcpm.mapNodeToConnection(msg['UID'], connection): print "Core: zamykam polaczenie bo już mam takie polaczenie" connection.transport.loseConnection() return if self.__model.getPreferredNodesAddr(): #uzytkownik podal z palca adres wiec w opoiedzi na HII wysylamy LOG self.__doLog() for uid in self.__model.getListOfNodes(): if not uid in self.__tcpm.getNodesWithConnections(): TCPClient.startReversedTCPConnection(self.__reactor, self.__model.getIPByUID(uid))
def handleUserInsertedNick(self, nick): #Logowanie uzytkownika self.__model.setNick(nick) print ("Core: logowanie z nickiem %s" % nick) self.__model.setMyId(Hash.generateUserId(nick)) try: print "Core: tworze serwer TCP" self.tcpFactory = TCPServer.startTCPServer(self.__reactor) netAddr = self.__model.getPreferredNodesAddr() if netAddr: print "Core: tworze klienta tcp do polaczenia do %s" % netAddr TCPClient.startReversedTCPConnection(self.__reactor, netAddr) else: print "Core: tworze klienta broadcast" self.broadcastSender = BroadcastSender.startSender(self.__reactor) except socket.error as err: print("Core: nie można uruchomić zerwer TCP lub wyslac rozgloszenia") traceback.print_exc() sys.exit()