def traceRoute(meuIP, JSONmsg): msg = json.loads(JSONmsg) msg["hops"].append(meuIP) resultJSON = json.dumps(msg) if (meuIP == msg["destination"]): dataMsg = JSON.Data(meuIP, msg["source"], resultJSON) print("Enviar Data:", dataMsg) # Enviar mensagem como data aqui else: print("Enviar trace:", resultJSON) #enviar mensagem como trace aqui
def traceRoute( self, JSONmsg ): # Funcao a se usar quando recebe uma mensagem do tipo trace msg = json.loads(JSONmsg) msg["hops"].append(self.myIP) resultJSON = json.dumps(msg) if (self.myIP == msg["destination"]): dataMsg = JSON.Data(self.myIP, msg["source"], resultJSON) self.SendMsgTo( dataMsg, msg["source"] ) # Aqui eles se invertem uma vez q o ultimo trace q recebeu e chegou ao destino precisa repassar ao de origem # print("Enviar Data:",dataMsg,"para:",msg["source"]) # Enviar mensagem como data aqui else: proxServ = FuncoesApoio.GetMenorRota( self.myIP, msg["destination"], self.myRouteTable ) # retorna o proximo servidor a repassar a mensagem self.SendMsgTo( resultJSON, proxServ) # Caso nao seja o ultimo, repassar para o prox serv
def sendData(source,destination,payload): udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) dest = (destination, 55151) msg = JSON.Data(source,destination,payload) udp.sendto(msg.encode(),dest)