static boolean SendMessage(ForwarderMessage message){
        if (message.to.equalsIgnoreCase(Setup.ROUTER_NAME)) {
            // we are the target
            Setup.println("<<Received Incoming Message to ME from " + message.from + ">>\n" + message.text + "\n");
            return true;
        }
        InetAddress addr = null;
        try {
            Setup.println("[ForwardingService.SendMessage] Creando socket a " + message.to);
            for(NbrCostPair nbr : Setup.nbrList){
                if (RoutingService.next.containsKey(message.to) &&
                        nbr.getNbr().getId().equalsIgnoreCase(RoutingService.next.get(message.to))) addr = nbr.getNbr().getAddr();
            }
            Socket socket = new Socket(addr, Setup.FORWARDING_PORT);
            Setup.println("[ForwardingService.SendMessage] Enviando mensaje a " + addr.getHostAddress());
            DataOutputStream out = new DataOutputStream(socket.getOutputStream());
            out.writeBytes(message.toString());
            out.flush();
            socket.close();
        } catch (Exception e) {
            Setup.println("[ForwardingService.SendMessage] No es posible enviar mensaje al destino " + e.getMessage());
            return false;
        }
        //JOptionPane.showMessageDialog(null, "El mensaje ha sido enviado a " + message.to);
        return true;
    }