Hallo liebes Forum,
ich hab folgendes Problem:
Ich habe ein Spiel in Java programmiert und wollte es nun über einen Updater erweitern. Das Prinzip ist folgendes. Das Spiel wird geschlossen und der Updater gestartet. Dieser stellt eine Verbindung mit meinem Webserver auf und lädt eine Version.txt herunter und vergleicht diese mit einer lokal definierten Variable ( Version des Laufenden Spiels ) Ist die Version im Netz aktueller, so lädt er die Dateien des Games herunter und überschreibt diese (mögliche Klassen, Bilder etc.)
Zu Hause habe ich eine direkte Verbindung ins Netz ( LAN ). In unserem Arbeitsraum der Projektgruppe läuft das Netzwerk jedoch über einen Proxy und ich komme nicht ins Netz (Time Out Error)
Wie kann ich das umgehen? Ich brauche Anweisungen, um über den Proxy ins Netz zu kommen. Dafür muss ich wohl irgendwo Ports angeben (oft 8080) und Benutzernamen, Passwort des Anmelderechners. Gibt es eine Möglichkeit diese automatisch im Script zu integrieren?
Hier der entscheidene Ablauf des Programmes:
-------
Actionlistener auf Button Updaten
-------
------
update_start(); // Stellt die Verbindung her und korrespondiert mit einer anderen Klasse
------
------
Korrespondenz Klasse getReader();
------
-------
Danach: wird ein Button sichtbar, womit ich die Updates laden kann
up_speed(); für die "Animation" auf der GUI
verbindung(); für den eigentlichen Download
-------
Ich weiß ist ein bisschen Viel , aber ich hab echt keine Idee, wie ich das lösen soll
Danke
Grüße,
Trash
ich hab folgendes Problem:
Ich habe ein Spiel in Java programmiert und wollte es nun über einen Updater erweitern. Das Prinzip ist folgendes. Das Spiel wird geschlossen und der Updater gestartet. Dieser stellt eine Verbindung mit meinem Webserver auf und lädt eine Version.txt herunter und vergleicht diese mit einer lokal definierten Variable ( Version des Laufenden Spiels ) Ist die Version im Netz aktueller, so lädt er die Dateien des Games herunter und überschreibt diese (mögliche Klassen, Bilder etc.)
Zu Hause habe ich eine direkte Verbindung ins Netz ( LAN ). In unserem Arbeitsraum der Projektgruppe läuft das Netzwerk jedoch über einen Proxy und ich komme nicht ins Netz (Time Out Error)
Wie kann ich das umgehen? Ich brauche Anweisungen, um über den Proxy ins Netz zu kommen. Dafür muss ich wohl irgendwo Ports angeben (oft 8080) und Benutzernamen, Passwort des Anmelderechners. Gibt es eine Möglichkeit diese automatisch im Script zu integrieren?
Hier der entscheidene Ablauf des Programmes:
-------
Actionlistener auf Button Updaten
-------
Java:
try{ update_start(); lupdate.setIcon(moglich_button);}
catch ( FileNotFoundException ex ) {lupdate.setIcon(unmoglich_button);}
catch ( IOException ex ) {lupdate.setIcon(unmoglich_button);}
------
update_start(); // Stellt die Verbindung her und korrespondiert mit einer anderen Klasse
------
Java:
public void update_start() throws FileNotFoundException,IOException
{
//Lade Versions Datei aus dem Internet
int lastSlashIndex = address.lastIndexOf('/');
if (lastSlashIndex >= 0 && lastSlashIndex < address.length() - 1)
{
download(address, address.substring(lastSlashIndex + 1));
}
else
{
System.err.println("Versions Abgleich fehlgeschlagen, " +address);
}
System.out.println("-Versions Datei heruntergeladen");
//Lese Versions Datei in Programm ein und speichere als String
b = new getReader();
b.getR(path);
b.parse(path);
u_ver= b.content;
lhin.setText("| Aktuelle Version: "+a_ver+" "+"| Update Version: "+u_ver+"");
System.out.println("--Prüfung erfolgreich--");
System.out.println(" ");
}
------
Korrespondenz Klasse getReader();
------
Java:
public class getReader
{
BufferedReader reader;
String meineDatei,content;
public void getR(String path) throws FileNotFoundException
{
//patho = new String("version.txt");
this.reader = new BufferedReader(new FileReader(new File(path)));
}
public void parse(String meineDatei) throws FileNotFoundException,IOException
{
if (new File(meineDatei).canRead()) // Falls die Datei existiert und lesbar ist
{
this.getR(meineDatei); // Reader auf die Datei erzeugen
content = this.reader.readLine(); // Erste Zeile holen
}
else
{
}
}
}
-------
Danach: wird ein Button sichtbar, womit ich die Updates laden kann
up_speed(); für die "Animation" auf der GUI
verbindung(); für den eigentlichen Download
-------
Java:
public void up_speed()
{
if (anz == 0)
{
try { Thread.sleep ( 1000 );
lstat.setForeground(Color.yellow);
lstat.setText("| Detail: Prüfe Verbindung | Status: 10%");
System.out.println("Status:10%");
anz = 10;
up_speed();
} catch ( InterruptedException ex ) { }
}
else if(anz == 10)
{
try { Thread.sleep ( 2000 );
lstat.setForeground(Color.yellow);
lstat.setText("| Detail: Lade Updates | Status: 30%");
System.out.println("Status:30%");
root=1;
anz = 30;
try{ verbindung();}
catch ( FileNotFoundException ex ) {}
catch ( IOException ex ) {}
//up_speed();
} catch ( InterruptedException ex ) { }
}
else if(anz == 30)
{
try { Thread.sleep ( 2000 );
lstat.setForeground(Color.green);
lstat.setText("| Detail: Installiere Updates | Status: 60%");
System.out.println("Status:60%");
anz = 60;
up_speed();
} catch ( InterruptedException ex ) { }
}
else if(anz == 60)
{
try { Thread.sleep ( 1000 );
lstat.setForeground(Color.green);
lstat.setText("| Detail: Updates erfolgreich | Status: 100%");
System.out.println("Status:100%");
anz = 100;
a_ver = u_ver;
System.out.println("--Update Erfolgreich --");
lhin.setText("| Aktuelle Version: "+a_ver+" "+"| Update Version: "+u_ver+"");
lupdate.setIcon(erfolg_button);
lupdate1.setEnabled(false);
} catch ( InterruptedException ex ) { }
}
}
Java:
public void verbindung () throws FileNotFoundException,IOException
{
//Lade Versions Datei aus dem Internet
String address1 = "http://********/update_datei.txt";
int lastSlashIndex = address1.lastIndexOf('/');
if (lastSlashIndex >= 0 && lastSlashIndex < address1.length() - 1)
{
download(address1, address1.substring(lastSlashIndex + 1));
}
else
{
System.err.println("Update Download fehlgeschlagen, " +address);
}
System.out.println("-Update heruntergeladen");
up_speed();
}
Ich weiß ist ein bisschen Viel , aber ich hab echt keine Idee, wie ich das lösen soll
Danke
Grüße,
Trash