Thread: [PI] Cache problem?

Results 1 to 5 of 5
  1. #1 [PI] Cache problem? 
    Registered Member `Sprite's Avatar
    Join Date
    Dec 2011
    Posts
    301
    Thanks given
    20
    Thanks received
    11
    Rep Power
    48
    So after i install the cache on dropbox then link it on cachedownloader.java and change the name of the cache to the same one on signlink.java

    I get this error when i run the client on cmd
    Code:
    cache2.zip.lnk  29184
    Here is my cachedownloader.java
    Code:
    import java.io.File;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.io.FileWriter;
    import java.io.BufferedWriter;
    import java.io.BufferedOutputStream;
    import java.io.BufferedInputStream;
    import java.io.FileOutputStream;
    import java.io.FileInputStream;
    import java.io.InputStream;
    import java.net.URLConnection;
    import java.net.URL;
    import java.util.zip.ZipFile;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipInputStream;
    import java.util.Enumeration;
    
    import sign.signlink;
    
    public class CacheDownloader {
    
            private client client;
    
            private final int BUFFER = 1024;
    
            private final int VERSION = 1;
            private String cacheLink = "https://www.dropbox.com/s/3fru5z0e8mytoup/cache2.zip.lnk"; // Link to cache
            
            private String fileToExtract = getCacheDir() + getArchivedName();
    
            public CacheDownloader(client client) {
                    this.client = client;
            }
    
            private void drawLoadingText(String text) {
                    client.drawLoadingText(35, text);
                    //System.out.println(text);
            }
    
    
            private void drawLoadingText(int amount, String text) {
                    client.drawLoadingText(amount, text);
                    //System.out.println(text);
            }
    
            private String getCacheDir() {
                    return signlink.findcachedir();
            }
    
            private String getCacheLink() {
                    return cacheLink;
            }
    
            private int getCacheVersion() {
                    return VERSION;
            }
    
            public CacheDownloader downloadCache() {
                    try {
                    File location = new File(getCacheDir());
                    File version = new File(getCacheDir() + "/Version" + getCacheVersion() + ".dat");
                    
                    if(!location.exists()) {
                            //drawLoadingText("Loading new Updates....");
                            downloadFile(getCacheLink(), getArchivedName());
    
                            unZip();
                            //System.out.println("UNZIP");
    
                            BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/Version" + getCacheVersion() + ".dat"));
                            versionFile.close();
                            deleteZIP(getArchivedName());
                    } else {
                            if(!version.exists()) {
                                    //drawLoadingText("~ First Time Installation, Only Once! ~");
                                    downloadFile(getCacheLink(), getArchivedName());
    
                                    unZip();
                                    //System.out.println("UNZIP");
    
                                    BufferedWriter versionFile = new BufferedWriter(new FileWriter(getCacheDir() + "/Version" + getCacheVersion() + ".dat"));
                                    versionFile.close();
                                    deleteZIP(getArchivedName());
    
                            } else {
                                    return null;
                            }
                    }
                    } catch(Exception e) {
    
                    }
                    return null;
            }
            
            private void downloadFile(String adress, String localFileName) {
                    OutputStream out = null;
                    URLConnection conn;
                    InputStream in = null;
                    
                    try {
    
                            URL url = new URL(adress);
                            out = new BufferedOutputStream(
                                    new FileOutputStream(getCacheDir() + "/" +localFileName)); 
    
                            conn = url.openConnection();
                            in = conn.getInputStream(); 
                    
                            byte[] data = new byte[BUFFER]; 
            
                            int numRead;
                            long numWritten = 0;
                            int length = conn.getContentLength();
    
            
                            while((numRead = in.read(data)) != -1) {
                                    out.write(data, 0, numRead);
                                    numWritten += numRead;
    
                                        int percentage = (int)(((double)numWritten / (double)length) * 100D);
                                    drawLoadingText(percentage, "Downloading Cache " + percentage + "%...");
    
                            }
    
                            System.out.println(localFileName + "\t" + numWritten);
                            drawLoadingText("Unpacking, please wait...");
    
                    } catch (Exception exception) {
                            exception.printStackTrace();
                    } finally {
                            try {
                                    if (in != null) {
                                            in.close();
                                    }
                                    if (out != null) {
                                            out.close();
                                    }
                            } catch (IOException ioe) {
                            }
                    }
    
            }
    
            private String getArchivedName() {
                    int lastSlashIndex = getCacheLink().lastIndexOf('/');
                    if (lastSlashIndex >= 0 
                            && lastSlashIndex < getCacheLink().length() -1) { 
                            return getCacheLink().substring(lastSlashIndex + 1);
                    } else {
                            //System.err.println("error retreiving archivaed name.");
                    }
                    return "";
            }
    
    
    
    
            private void unZip() {
    
                    try {
                                InputStream in = 
                                    new BufferedInputStream(new FileInputStream(fileToExtract));
                            ZipInputStream zin = new ZipInputStream(in);
                            ZipEntry e;
    
                            while((e=zin.getNextEntry()) != null) {
    
                                           if(e.isDirectory()) {
                                            (new File(getCacheDir() + e.getName())).mkdir();
                                           } else {
    
                                    if (e.getName().equals(fileToExtract)) {
                                            unzip(zin, fileToExtract);
                                            break;
                                    }
                                                   unzip(zin, getCacheDir() + e.getName());
                                    }
                                    //System.out.println("unzipping2 " + e.getName());
                            }
                            zin.close();
    
                    } catch(Exception e) {
                            e.printStackTrace();
                    }
            }
    
    private void deleteZIP(String fileName){
        // A File object to represent the filename
        File f = new File(getCacheDir() + fileName);
    
        // Make sure the file or directory exists and isn't write protected
        if (!f.exists())
          throw new IllegalArgumentException(
              "Delete: no such file or directory: " + fileName);
    
        if (!f.canWrite())
          throw new IllegalArgumentException("Delete: write protected: "
              + fileName);
    
        // If it is a directory, make sure it is empty
        if (f.isDirectory()) {
          String[] files = f.list();
          if (files.length > 0)
            throw new IllegalArgumentException(
                "Delete: directory not empty: " + fileName);
        }
    
        // Attempt to delete it
        boolean success = f.delete();
    
        if (!success)
          throw new IllegalArgumentException("Delete: deletion failed");
    
            }
    
            private void unzip(ZipInputStream zin, String s) 
                    throws IOException {
    
                    FileOutputStream out = new FileOutputStream(s);
                    //System.out.println("unzipping " + s);
                    byte [] b = new byte[BUFFER];
                    int len = 0;
    
                    while ((len = zin.read(b)) != -1) {
                            out.write(b,0,len);
                    }
                    out.close();
            }
    }
    here is my signlink.java
    Code:
    package sign;
    
    import java.applet.Applet;
    import java.io.DataInputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.PrintStream;
    import java.io.RandomAccessFile;
    import java.net.InetAddress;
    import java.net.Socket;
    import java.net.URL;
    
    public final class signlink
      implements Runnable
    {
      public static final int clientversion = 317;
      public static int uid;
      public static int storeid = 32;
      public static RandomAccessFile cache_dat = null;
      public static final RandomAccessFile[] cache_idx = new RandomAccessFile[5];
      public static boolean sunjava;
      public static Applet mainapp = null;
      private static boolean active;
      private static int threadliveid;
      private static InetAddress socketip;
      private static int socketreq;
      private static Socket socket = null;
      private static int threadreqpri = 1;
      private static Runnable threadreq = null;
      private static String dnsreq = null;
      public static String dns = null;
      private static String urlreq = null;
      private static DataInputStream urlstream = null;
      private static int savelen;
      private static String savereq = null;
      private static byte[] savebuf = null;
      private static boolean midiplay;
      private static int midipos;
      public static String midi = null;
      public static int midivol;
      public static int midifade;
      private static boolean waveplay;
      private static int wavepos;
      public static int wavevol;
      public static boolean reporterror = true;
      public static String errorname = "";
    
      public static void startpriv(InetAddress inetaddress)
      {
        threadliveid = (int)(Math.random() * 99999999.0D);
        if (active)
        {
          try
          {
            Thread.sleep(500L);
          } catch (Exception localException) {
          }
          active = false;
        }
        socketreq = 0;
        threadreq = null;
        dnsreq = null;
        savereq = null;
        urlreq = null;
        socketip = inetaddress;
        Thread thread = new Thread(new signlink());
        thread.setDaemon(true);
        thread.start();
        while (!active)
          try
          {
            Thread.sleep(50L);
          } catch (Exception localException1) {
          }
      }
    
    
      public void run() {
    	uid = 784506102;
        active = true;
        String s = findcachedir();
        try {
          cache_dat = new RandomAccessFile(s + "main_file_cache.dat", "rw");
          for (int j = 0; j < 5; j++)
            cache_idx[j] = new RandomAccessFile(s + "main_file_cache.idx" + j, "rw");
        }
        catch (Exception exception) {
          exception.printStackTrace();
        }
        for (int i = threadliveid; threadliveid == i; )
        {
          if (socketreq != 0)
          {
            try
            {
              socket = new Socket(socketip, socketreq);
            }
            catch (Exception _ex)
            {
              socket = null;
            }
            socketreq = 0;
          }
          else if (threadreq != null)
          {
            Thread thread = new Thread(threadreq);
            thread.setDaemon(true);
            thread.start();
            thread.setPriority(threadreqpri);
            threadreq = null;
          }
          else if (dnsreq != null)
          {
            try
            {
              dns = InetAddress.getByName(dnsreq).getHostName();
            }
            catch (Exception _ex)
            {
              dns = "unknown";
            }
            dnsreq = null;
          }
          else if (savereq != null)
          {
            if (savebuf != null)
              try
              {
                FileOutputStream fileoutputstream = new FileOutputStream(s + savereq);
                fileoutputstream.write(savebuf, 0, savelen);
                fileoutputstream.close();
              } catch (Exception localException1) {
              }
            if (waveplay)
            {
              String wave = s + savereq;
              waveplay = false;
            }
            if (midiplay)
            {
              midi = s + savereq;
              midiplay = false;
            }
            savereq = null;
          }
          else if (urlreq != null)
          {
            try
            {
              System.out.println("urlstream");
              urlstream = new DataInputStream(new URL(mainapp.getCodeBase(), urlreq).openStream());
            }
            catch (Exception _ex)
            {
              urlstream = null;
            }
            urlreq = null;
          }
          try
          {
            Thread.sleep(50L);
          }
          catch (Exception localException2)
          {
          }
        }
      }
    
      public static final String findcachedir()
      {
        File[] drives = File.listRoots();
    
        String HomeIsBaws = System.getProperty("user.home");
        String s = HomeIsBaws + "/cache2/";
        File file = new File(s);
        if ((file.exists()) || (file.mkdirs())) {
          return s + "/";
        }
        return null;
      }
    
    
      public static synchronized Socket opensocket(int i)
        throws IOException
      {
        for (socketreq = i; socketreq != 0; )
          try
          {
            Thread.sleep(50L);
          }
          catch (Exception localException) {
          }
        if (socket == null) {
          throw new IOException("could not open socket");
        }
        return socket;
      }
    
      public static synchronized DataInputStream openurl(String s)
        throws IOException
      {
        for (urlreq = s; urlreq != null; )
          try
          {
            Thread.sleep(50L);
          }
          catch (Exception localException) {
          }
        if (urlstream == null) {
          throw new IOException("could not open: " + s);
        }
        return urlstream;
      }
    
      public static synchronized void dnslookup(String s)
      {
        dns = s;
        dnsreq = s;
      }
    
      public static synchronized void startthread(Runnable runnable, int i)
      {
        threadreqpri = i;
        threadreq = runnable;
      }
    
      public static synchronized boolean wavesave(byte[] abyte0, int i)
      {
        return false;
      }
    
      public static synchronized boolean wavereplay()
      {
        if (savereq != null)
        {
          return false;
        }
    
        savebuf = null;
        waveplay = true;
        savereq = "sound" + wavepos + ".wav";
        return true;
      }
    
      public static synchronized void midisave(byte[] abyte0, int i)
      {
      }
    
      public static void reporterror(String s)
      {
        System.out.println("Error: " + s);
      }
    }
    EDIT:

    It downloads the "cache2" in .user but only like 6 files which are the main ones
    and keep on stuck at reconnecting in #Seconds



    ► Life is divided into the horrible and the miserable. – Woody
    ► The sad truth is that opportunity doesn’t knock twice. – Gloria Estefan
    ► Behind every beautiful thing, there’s some kind of pain. – Bob Dylan
    ► Depression is like a war. You either win or you die. – Wise Old Man
    Reply With Quote  
     

  2. #2  
    Banned
    Join Date
    Jan 2012
    Posts
    265
    Thanks given
    6
    Thanks received
    14
    Rep Power
    0
    Upload cache to a webhost make sure it's just cache.zip not cache.zip.Ink.
    Reply With Quote  
     

  3. #3  
    Registered Member `Sprite's Avatar
    Join Date
    Dec 2011
    Posts
    301
    Thanks given
    20
    Thanks received
    11
    Rep Power
    48
    Quote Originally Posted by pkingftw View Post
    Upload cache to a webhost make sure it's just cache.zip not cache.zip.Ink.
    I just did and it still gives me the same error.



    ► Life is divided into the horrible and the miserable. – Woody
    ► The sad truth is that opportunity doesn’t knock twice. – Gloria Estefan
    ► Behind every beautiful thing, there’s some kind of pain. – Bob Dylan
    ► Depression is like a war. You either win or you die. – Wise Old Man
    Reply With Quote  
     

  4. #4  
    Banned

    Join Date
    Nov 2010
    Age
    9
    Posts
    2,656
    Thanks given
    158
    Thanks received
    280
    Rep Power
    0
    Try following a tutorial? and check what you've missed, I haven't worked on a cachedownloader in a long time
    Reply With Quote  
     

  5. #5  
    Registered Member `Sprite's Avatar
    Join Date
    Dec 2011
    Posts
    301
    Thanks given
    20
    Thanks received
    11
    Rep Power
    48
    I fixed this, thanks for looking at this anyhow.



    ► Life is divided into the horrible and the miserable. – Woody
    ► The sad truth is that opportunity doesn’t knock twice. – Gloria Estefan
    ► Behind every beautiful thing, there’s some kind of pain. – Bob Dylan
    ► Depression is like a war. You either win or you die. – Wise Old Man
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. [PI] Cache problem (REP)
    By 'Whip in forum Help
    Replies: 13
    Last Post: 02-27-2012, 01:35 AM
  2. [Paying] [PI] Cache problems, Help please.
    By Ch3ck it S0n in forum Help
    Replies: 9
    Last Post: 10-29-2011, 09:05 PM
  3. [PI] Cache Problem
    By Deth in forum Help
    Replies: 5
    Last Post: 10-15-2011, 04:43 AM
  4. [PI] Cache problem [PI]
    By xCDIx in forum Help
    Replies: 5
    Last Post: 07-14-2011, 09:04 AM
  5. [PI] Cache Problem
    By Bagnio in forum Help
    Replies: 1
    Last Post: 04-05-2011, 06:27 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •