Highscores aus Applet-Spiel in XML-Datei speichern

Status
Nicht offen für weitere Antworten.

Tissi

Mitglied
Hallo!

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
 

Dominicana

Aktives Mitglied
Willst du auf ein CGI-Script zugreifen?

Wenn ja, mit POST oder GET?

POST-Beispiel für ein Gästebuch-CGI-Script (nur zum Anschauen, einige Variablen sind im Beispiel nicht initiiert):
Code:
try {
            // URL vom CGI-bin script.
            URL send = new URL(
                    "http://www.zweipage.de/cgi-bin/hpm_ext_guestbook.cgi"); // oder: new URL (getCodeBase().toString() + "env.cgi");
            // URL Verbindung
            URLConnection urlConn = send.openConnection();
            // Läßt das run-time system (RTS) wissen, wir wollen einen Input (falls das CGI-Script etwas zurückliefert)
            urlConn.setDoInput(true);
            // Läßt das RTS wissen, wir wollen einen Output.
            urlConn.setDoOutput(true);
            // Kein Cachen, wir wollen es Real.
            urlConn.setUseCaches(false);
            // Spezifiziert der Verbindungstyp
            urlConn.setRequestProperty("Content-Type",
                                       "application/x-www-form-urlencoded");
            // Sende den POST-Output
            DataOutputStream printOut = new DataOutputStream(urlConn.
                    getOutputStream());
            // Status der RadioButtons prüfen
            String temp = "";
            if (radio1.isSelected()) {
                temp = "01";
            } else if (radio2.isSelected()) {
                temp = "02";
            } else if (radio3.isSelected()) {
                temp = "03";
            } else {
                temp = "";
            }
            // Der Output-String mit den Formulardaten
            String content = "name=" +
                             URLEncoder.encode(fieldName.getText(), "UTF-8") +
                             "&email=" +
                             URLEncoder.encode(fieldEmail.getText(), "UTF-8") +
                             "&homepage=" +
                             URLEncoder.encode(fieldHome.getText(), "UTF-8") +
                             "&betreff=" +
                             URLEncoder.encode(fieldBetreff.getText(), "UTF-8") +
                             "&icon=" + URLEncoder.encode(temp, "UTF-8") +
                             "&text=" +
                             URLEncoder.encode(text.getText(), "UTF-8") +
                             "&userid=" + URLEncoder.encode("58476398", "UTF-8") +
                             "&designid=" +
                             URLEncoder.encode("49925691", "UTF-8") +
                             "&lng=" + URLEncoder.encode("deutsch", "UTF-8");
            printOut.writeBytes(content);
            printOut.flush();
            printOut.close();
            BufferedReader input = new BufferedReader(new InputStreamReader(new DataInputStream(urlConn.getInputStream())));
            String str;
            while (null != ((str = input.readLine()))) {
                text.append(str + "\n");
            }
            input.close();
        } catch (MalformedURLException murle) {
            JOptionPane.showMessageDialog(null,
                                          "MalformedURLException " + murle,
                                          "Fehler", JOptionPane.ERROR_MESSAGE);        } catch (IOException ioe) {
            JOptionPane.showMessageDialog(null, "IOException " + ioe.getMessage(),
                                          "Fehler", JOptionPane.ERROR_MESSAGE);        }
    }

GET wird ja über die URL übergeben, ist deswegen etwas einfacher.

Dom.
 

Tissi

Mitglied
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);?

tissi
 

Dominicana

Aktives Mitglied
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.
 

Tissi

Mitglied
ich hab den Code so angepasst:
Code:
		try { 
            // URL vom CGI-bin script. 
            URL send = new URL("http://192.168.0.40/addHighscore.php"); 
            // URL Verbindung 
            URLConnection urlConn = send.openConnection(); 
            // Läßt das RTS wissen, wir wollen einen Output. 
            urlConn.setDoOutput(true); 
            // Kein Cachen, wir wollen es Real. 
            urlConn.setUseCaches(false); 
            // Spezifiziert der Verbindungstyp 
            urlConn.setRequestProperty("Content-Type", 
                                       "application/x-www-form-urlencoded"); 
            // Sende den POST-Output 
            DataOutputStream printOut = new DataOutputStream(urlConn. 
                    getOutputStream());  
            // Der Output-String mit den Formulardaten 
            String content = "name=" + 
                             URLEncoder.encode(player, "UTF-8") + 
                             "&date=" + 
                             URLEncoder.encode(date, "UTF-8") + 
                             "&score=" + 
                             URLEncoder.encode("" + score, "UTF-8"); 
            printOut.writeBytes(content); 
            printOut.flush(); 
            printOut.close(); 
        }
		catch (MalformedURLException murle)
		{ 
            JOptionPane.showMessageDialog(null, 
                                          "MalformedURLException " + murle, 
                                          "Fehler", JOptionPane.ERROR_MESSAGE);
        }
		catch (IOException ioe)
		{ 
            JOptionPane.showMessageDialog(null, "IOException " + ioe.getMessage(), 
                                          "Fehler", JOptionPane.ERROR_MESSAGE);
        }

das klappt aber nicht.
anscheinend wird das skript gar nicht ausgeführt.
Hab ich noch irgendwas falsh gemacht?

Tissi
 

L-ectron-X

Gesperrter Benutzer
Es geht nicht? Was geht denn nicht? Bitte genauer beschreiben!
Ein Blick in die Java-Console kann Aufschluss bringen.
 

Tissi

Mitglied
Also, ich hab es jetzt ganz anders gemacht:

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.

...aber trotzdem vielen Dank für die Mühe!
 
G

gleichesProblem

Gast
Hallo

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.

Code:
<HTML>
<HEAD>
</HEAD>
<BODY>
<?php
	$var1 = $_POST["data"] . "\n";
	$datei = fopen("datei.txt", "a");
	fputs($datei, $var1);
	fclose($datei);
?>

</BODY>
</HTML>

Kann mir jemand helfen, wieso auf meinem Server keine Datei erzeugt wird?

Danke schon mal
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Applet: com.sun.deploy.security.BlockedException :-( Tools - Maven, Gradle, Ant & mehr 0
M Applet Applet legt Browser lahm Tools - Maven, Gradle, Ant & mehr 3
J Applet Aus anderer Browserinstanz Applet abfragen Tools - Maven, Gradle, Ant & mehr 2
P Linux Applet/Webstart Schriftunterschiede Tools - Maven, Gradle, Ant & mehr 3
E JMol -Applet Einbindung Tools - Maven, Gradle, Ant & mehr 0
T Applet Applet und IText wirft Incompatible magic value 1008813135 Fehler Tools - Maven, Gradle, Ant & mehr 6
P Applet Java Applet läuft im Browser nicht mehr (HTTPClient - NoClassDefFoundError) Tools - Maven, Gradle, Ant & mehr 3
P Applet Applet Signatur auf Server mit SSL-Zertifikat? Tools - Maven, Gradle, Ant & mehr 7
H Applet Applet wird nicht angezeigt Tools - Maven, Gradle, Ant & mehr 2
M Applet Applet funktioniert in Google Chrome nicht Tools - Maven, Gradle, Ant & mehr 2
O Applet "Anwendung kann nicht ausgeführt werden" Tools - Maven, Gradle, Ant & mehr 6
Q Applet Fehlermeldung bei Applet-Wechsel Tools - Maven, Gradle, Ant & mehr 4
T Daten per POST-Methode aus Java-Applet nach php-Script senden Tools - Maven, Gradle, Ant & mehr 3
R Applet friert Adresszeile des Firefox ein Tools - Maven, Gradle, Ant & mehr 2
K Applet als Jar-Datei in HTML einbinden Tools - Maven, Gradle, Ant & mehr 14
H Applet-Fehlermeldung Tools - Maven, Gradle, Ant & mehr 10
H Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 3
Q Applet Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 14
J Applet URL mittels TTS als Applet lesen lassen Tools - Maven, Gradle, Ant & mehr 40
F Applet verwischt, wenn Seite gescrollt wird Tools - Maven, Gradle, Ant & mehr 16
S Applet Applet mit C# öffnen: java.lang.SecurityException: Permission denied (WinXP) Tools - Maven, Gradle, Ant & mehr 8
J Applet-Quellcode einsehen Tools - Maven, Gradle, Ant & mehr 6
E Applet Applet und Datenbank Konzept Tools - Maven, Gradle, Ant & mehr 4
A Applet: Html Datei und Class Datei nicht im selben Verzeichnis Tools - Maven, Gradle, Ant & mehr 2
S Applet soll Textdatei von fremdem Server öffnen Tools - Maven, Gradle, Ant & mehr 8
E Java Applet bearbeiten Tools - Maven, Gradle, Ant & mehr 8
Quasar Wie signiere ich mein Applet richtig? Tools - Maven, Gradle, Ant & mehr 6
M mit Applet Javascript Aufrufen Tools - Maven, Gradle, Ant & mehr 2
S Applet and stop() method und gui blocked Tools - Maven, Gradle, Ant & mehr 4
A Applet Applet startet nach Einbinden auf Website nicht Tools - Maven, Gradle, Ant & mehr 4
A Applet, xxx.jar und hsqldb Tools - Maven, Gradle, Ant & mehr 4
T Webstart oder Applet Tools - Maven, Gradle, Ant & mehr 2
H Applet applet neu laden im browser Tools - Maven, Gradle, Ant & mehr 10
M Applet neustart Tools - Maven, Gradle, Ant & mehr 5
S Applet request unter Linux Tools - Maven, Gradle, Ant & mehr 14
S Applet GUI nicht im Webbrowser sichtbar Tools - Maven, Gradle, Ant & mehr 5
S Mittel Applet Datei an ein Webserver übertragen Tools - Maven, Gradle, Ant & mehr 2
M Applet in ClientServer J2EE Anwendung debugen Tools - Maven, Gradle, Ant & mehr 6
H Java Applet Problem beim einbinden in HTML Tools - Maven, Gradle, Ant & mehr 3
M Java3D Applet flackert wenn ein Button(HTML) gedrückt wird Tools - Maven, Gradle, Ant & mehr 11
S Policy mit Signiertem Applet verteilen Tools - Maven, Gradle, Ant & mehr 9
F Applet findet include nicht Tools - Maven, Gradle, Ant & mehr 15
L PHP + Java Applet Kommunikation Tools - Maven, Gradle, Ant & mehr 9
C Probleme mit Applet mit SQL im Browser Tools - Maven, Gradle, Ant & mehr 4
G Java-Applet Probleme beim Browser Tools - Maven, Gradle, Ant & mehr 14
G Textfile in Applet laden möglich? Tools - Maven, Gradle, Ant & mehr 2
A Java-Applet Sandbox deaktiviren? Tools - Maven, Gradle, Ant & mehr 2
B Java-Applet geht nicht (auf dem Webserver) Tools - Maven, Gradle, Ant & mehr 9
P Applet läuft nicht in Browser Tools - Maven, Gradle, Ant & mehr 21
V JAR-Datei eines (J)Applet funktioniert nicht - Help! Tools - Maven, Gradle, Ant & mehr 19
S Java Applet per Klick starten? Tools - Maven, Gradle, Ant & mehr 6
S Applet geht nicht Tools - Maven, Gradle, Ant & mehr 25
J Applet signieren Tools - Maven, Gradle, Ant & mehr 2
H Applet - Geschicklichkeitsspiel programmieren Tools - Maven, Gradle, Ant & mehr 16
U Jar funktioniert nicht als Applet Tools - Maven, Gradle, Ant & mehr 3
C Applet Frage Tools - Maven, Gradle, Ant & mehr 4
M Java Applet - enforce use of older JRE Tools - Maven, Gradle, Ant & mehr 3
N Wie Java-Programm zu Applet machen?! Tools - Maven, Gradle, Ant & mehr 2
W Webseite aus Applet öffnen Tools - Maven, Gradle, Ant & mehr 3
lumo Applet - resize Tools - Maven, Gradle, Ant & mehr 7
Icewind Applet reagiert nach neu laden der Webseite nicht mehr verlässlich auf KeyEvents Tools - Maven, Gradle, Ant & mehr 6
R Applet mit MySQL Tools - Maven, Gradle, Ant & mehr 3
A jar datei trotz zertifikat nich aus applet ausführbar Tools - Maven, Gradle, Ant & mehr 4
F Fehlende Applet Rechte Tools - Maven, Gradle, Ant & mehr 12
N [Applet] Button wir nach 5 secs Unsichtbar Tools - Maven, Gradle, Ant & mehr 2
N jar -> applet wie setzt man das am leichtesten um Tools - Maven, Gradle, Ant & mehr 7
V applet Java 1.6 -> 1.5 Problem ... wie mit Ant zu lösen? Tools - Maven, Gradle, Ant & mehr 7
F applet als JAR -> AccessControlException Tools - Maven, Gradle, Ant & mehr 3
grudge File in Applet laden Tools - Maven, Gradle, Ant & mehr 4
E Java Applet - Double Buffering Problem (Flackern) Tools - Maven, Gradle, Ant & mehr 6
R Applet mit bestimmter JRE ausführen Tools - Maven, Gradle, Ant & mehr 9
traysa Wie binde ich ein applet in eine jsp Tools - Maven, Gradle, Ant & mehr 3
D Mit dem Applet das DOM manipulieren? Tools - Maven, Gradle, Ant & mehr 3
ABstraCT Applet getCodeBase() Zugriff auf darüberliegendenden Ordner ? Tools - Maven, Gradle, Ant & mehr 1
S Java-Applet Steuerung IO Karte am Drucker-Port Tools - Maven, Gradle, Ant & mehr 4
P URL aus Applet öffnen? Tools - Maven, Gradle, Ant & mehr 7
ABstraCT Mit Applet in ne Datei auf seinem Server schreiben. Tools - Maven, Gradle, Ant & mehr 10
E Verzögerung beim Refresh (F5) mit einem Applet verursachen Tools - Maven, Gradle, Ant & mehr 16
deetee Applet Frage Tools - Maven, Gradle, Ant & mehr 2
S Fehler in einem Upload - Applet (nicht gelöst!!) Tools - Maven, Gradle, Ant & mehr 2
G Variable an zweites Applet übergeben Tools - Maven, Gradle, Ant & mehr 3
M Dringend: Sehr kompliziertes Applet Problem Tools - Maven, Gradle, Ant & mehr 4
O Javascript kommuniziert mit Applet? Tools - Maven, Gradle, Ant & mehr 2
H Spracherkennung mit Applet / Policy bzw. Security Fehler Tools - Maven, Gradle, Ant & mehr 2
zilti Nerviger Hinweis bei Applet- und WS-Fenstern - wieso? Tools - Maven, Gradle, Ant & mehr 3
S Datei-/Verzeichniszugriff von signiertem Applet Tools - Maven, Gradle, Ant & mehr 6
G Signiertes Applet installieren? Tools - Maven, Gradle, Ant & mehr 3
G Applet mit Parameter aus JavaScript Tools - Maven, Gradle, Ant & mehr 5
A Applet Maus Koordinaten ohne MouseMotionListener Tools - Maven, Gradle, Ant & mehr 3
K Applet in Eclipse funktioniert, im Browser nicht Tools - Maven, Gradle, Ant & mehr 7
T Applet soll Java Programm starten Tools - Maven, Gradle, Ant & mehr 2
S Applet pai.nt? Tools - Maven, Gradle, Ant & mehr 3
S Applet und File-Object? Tools - Maven, Gradle, Ant & mehr 9
T Applet soll Datei lesen (darf es aber nicht.) Tools - Maven, Gradle, Ant & mehr 3
P Java-Applet funktioniert unter WINXP nicht Tools - Maven, Gradle, Ant & mehr 2
N Java 1.6 Applet auf älteren Versionen ausführbar? Tools - Maven, Gradle, Ant & mehr 4
G Signiertes Applet prüfen? Tools - Maven, Gradle, Ant & mehr 3
H Problem mit einen Applet Tools - Maven, Gradle, Ant & mehr 5
J Java Applet bei mouseover mit Tooltip Tools - Maven, Gradle, Ant & mehr 3
G Applet Security Problem Tools - Maven, Gradle, Ant & mehr 3

Ähnliche Java Themen

Neue Themen


Oben