Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Highscores aus Applet-Spiel in XML-Datei speichern
Der Titel sagt eigentlich schon ziemlich genau, was mein Problem ist:
Ich möchte Highscore -Daten bestehend aus Spielername, Datum und Punktzahl aus einem Java-Applet an ein Script (am liebsten Perl) auf dem Server schicken, damit dieses Script die Daten dann in eine XML-Datei auf dem Server schreibt.
Wie aber kann ich denn das Script mit den Daten vom Applet aus aufrufen?
Schonmal vielen Dank für alle Hilfe die kommt!
Tissi
Erstmal vielen Dank, das sieht schon recht hilfreich aus. Aber an welcher stelle wird nun genau das script gestartet? Es gibt ja keinen wirklichen Aufruf, so wie ich ihn mir vorgestellt hab.
Wird das Script automatisch hierdurch aufgerufen/gestartet: printOut.writeBytes(content);?
Nun, das CGI-Script mußt du natürlich deinen Anforderungen anpassen , oder das Java-Programm.
In den Zeilen 3 bis 18 wird die Verbindung aufgebaut.
Von Zeile 31 bis 45 werden die Daten (Verschlüsselt) in einen Stream geschrieben und mit
Code:
printOut.writeBytes(content);
werden die Daten abgeschickt.
Der URLEncoder muß mit eingebaut werden, so wie in dem Beispiel, und auch "UTF-8". Das hat was mit CGI zutun und wie Daten versandt werden.
ich hab in meine html-Datei mit dem Applet ein Formular gepackt. Mit LiveConnect schreibe ich dann die Daten ins Formular und submitte, sodass das Script die Daten per POST bekommt und verarbeiten kann.
habe das gleiche Problem. Möchte auch Daten auf den Webserver schreiben. Habe folgenden Code im Applet eingebaut
Code:
URL url = RMainApplet.getURL();
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setDoOutput(true);
urlConnection.setUseCaches(false);
urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
PrintStream out = new PrintStream(urlConnection.getOutputStream());
String sLine = "";
for (int i = 0; i < dataList.size(); i++) {
sLine += store.convertValueToData(dataList.get(i)) + "\n";
if (sLine != null) {
out.println("data=" + URLEncoder.encode(sLine, "UTF-8"));
}
}
out.flush();
out.close();
Der Code wird ausgefüht, wenn ich auf einen Button drücke. Er scheint auch was zu machen. Nur erscheint auf dem Webserver nichts. Konsole ist auch leer.
Habe auf dem Server folgendes PHP-Script liegen, das aufgerufen wird.