Applet, JavaScript, PHP, mySQL -> Was brauch ich?

Status
Nicht offen für weitere Antworten.

hdi

Top Contributor
Hallo,

also ich programmiere jetz ca 1 Jahr regelmässig bisschen Java, habe aber noch nie irgendwelche Projekte
gemacht, die was mit dem Internet zu tun hatten.

Jetzt will ich ein Spiel programmieren, dass Highscores aller User global auf einem Server speichert.
Ich habe Webspace mit ftp Zugang, und der ist auch PHP und mySQL kompatibel.

Das Ding ist, ich weiss jetzt nich was ich überhaupt brauche für diesen Zweck.

Ich könnte zwar einfach eine Highscore.txt datei auf den Server legen, und wenn der User das Programm startet
die einfach per ftp runterladen, auslesen und die Scores anzeigen. Wenn er ein spiel gespielt hat und eine Highscore
gebrochen hat, dann kann ich daraus wieder ne Datei machen und hochladen.

Aber das ist natürlich nicht gut, siehe Race Conditions, wenn mehrere Spieler gleichzeitig hoch und runterladen.

Deshalb brauch ich jetzt doch irgendeine synchronisierte Sache, die aufpasst dass da nix schiefgeht. Ob ich
jetzt ne "Datenbank" brauche (was auch immer das genau heisst), oder das irgendwie per Script machen soll...
keine Ahnung.

Also die Frage nochmal konkret: Ich brauch eig. wirklichj nicht mehr als diese Datei auf dem Server, aber
das Hoch- und Runterladen muss synchronisiert sein, d.h. wenn ein User da grad was macht darf ein anderer
nicht dazwischen funken.

Und das muss ja irgendwie aufm Server liegen, dieses Applet, oder Script, oder whatever... Ich kann sowas ja
nicht vom Programm selbst synchronisieren, weil nur der Server wissen kann, wer da jetz alles verbunden ist, und nicht mein Programm.

Wie soll ich das machen, muss ich da was mit PHP oder mySQL programmieren, oder kann sowas ein Applet,
oder was.. Wie macht man sowas?
 

Leroy42

Top Contributor
hdi hat gesagt.:
muss ich da was mit PHP oder mySQL programmieren

Nein, das ist nicht nötig.

Nur der Zugriff auf die Datei muß synchronisiert werden.

Das geht mit PHP oder mit Servlets (JSPs) die dafür sorgen,
daß sie nur einen Dateizugriff gleichzeitig zulassen.

Eventuell ist es auch möglich, die gleichzeitigen Highscore-Änderungen
in einer Queue zu verwalten, sodaß jede Highscore-Änderung
immer auf die aktuellsten Daten angewandt wird (und die anderen
Zugriffe maximal so lange warten müssen, bis eine Highscore-Änderung
ausgeführt wurde)
 

hdi

Top Contributor
Mir ist gerade gekommen, dass da wohl doch mehr dahinterstekcne muss, als den Zugriff auf die Datei zu synchronisieren...

Bsp:

UserA startet das Programm, die Highscores werden runtergeladen. Er spielt ne Weile und dann hat er eine neue HighScore geschafft, die nun hochgeladen wird. In der zwischenzeit könnte aber UserB das Programm gestartet und wieder neue Highscores hochgeladen haben. Die Datei soll ja nicht die ganze Zeit gesperrt sein, während ein Spieler spielt, dann könnte ja immer nur 1 Spieler gleichzeitig das Spiel spielen.

D.h. ich würde beim Upload der Liste von UserA die Highscores, die von UserB hochgeladen wurden, überschreiben.

Ich könnte beim Upload ja nochmal die Liste runterladen, und prüfen ob es Änderungen gab, und dass dann mergen. Aber dieser Vorgang an sich ist ja wieder gefährlich, denn UserA lädt beim Upload die Liste vom Server nochmal runter, und merged das nun... In dieser Zeit lädt ein anderer User eine neue Liste hoch, UserA hat fertig gemerged, lädt hoch und wir haben das gleiche Problem, dass die Liste überschrieben wurde.

D.h. ich muss nicht nur den Datei-Zugriff synchronisieren, sondern auch eine Lock-Variable setzen können, damit während ein User die Liste runterlädt, mit seiner lokalen Liste merged (Und in diesem Moment gibt es ja keinen Zugriff mehr auf die Datei), und hochlädt, gar kein Zugriff auf die Datei ist. Das Runter- und Hochladen der Datei muss gesperrt sein.

Pseudo-Code:

Code:
downloadList(); 
lockList();
mergeListWithLocalList();
uploadList();
unlockList();

Aber zwischen downloadList() und lockList() darf mir natürlich auch keiner dazwischenfunken... :/

Kann man sowas auch mit Servlets machen? Oder PHP? Bzw ich weiss jetz gar nich so recht wo ich einsteigen soll..
Ich hab nach Servlets gegooglet, aber irgendwie erkenn ich da nich so den Zusammenhang zu Java, oder ich war
auf den falschen Seiten, wo nich wirklich das erklärt wird...

Habt ihr vllt ne gute Einsteiger-Ressource für mich? Irgendein Link, wo von Grund auf gelehrt wird, wie man
so etwas realisieren kann?
 
T

tuxedo

Gast
Gibt auch noch das hier:

http://jpmdbc.dev.java.net

Damit kommst du nehazu ohne Umweg an die MySQL Datenbank "von aussen" ran.

Wäre etwas eleganter als die Sache mit der Datei ;-)
Einzigstes Manko: Die Lib beherrscht nur die Basics. Alles was die Meta-Informationen via JDBC anfordert, funktioniert nicht. Aber für SELECT, INSERT, UPDATE und DELETE tut's die Lib allemal. Prepared Statements gehen auch ..

- Alex
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java Applet Verknüpfungsproblem Allgemeine Java-Themen 6
L Applet Applet zu JavaWebStart migrieren - simples sample geht nicht Allgemeine Java-Themen 2
A Applet Applet debuggen und Logs finden Allgemeine Java-Themen 3
A Plot funktion applet Allgemeine Java-Themen 4
A Applet nullstelle Plot Allgemeine Java-Themen 1
A Applet in HTML einbinden Allgemeine Java-Themen 1
B Altes Applet anpassen Allgemeine Java-Themen 8
W Unterschied Standalone und Applet Allgemeine Java-Themen 1
L WebSign Applet der Deutschen Bank Allgemeine Java-Themen 0
K Applet in JApplet umwandeln Allgemeine Java-Themen 5
V Applet trotz Ausnahme blockiert Allgemeine Java-Themen 0
T Java Applet Berechtigungen Allgemeine Java-Themen 2
T 2D-Grafik Java Applet Rechtecke und Kreise Allgemeine Java-Themen 1
I Java Applet wird immer blockiert Allgemeine Java-Themen 3
S Applet in html laden; InvocationTargetException,.. nur warum ? Allgemeine Java-Themen 0
S Java Applet wird dauerhaft blockiert Allgemeine Java-Themen 1
T Java applet args Allgemeine Java-Themen 5
S Java Applet Crash - Keine Exception Allgemeine Java-Themen 8
L Java Applet - ClassNotFound online, offline korrekt Allgemeine Java-Themen 13
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
H Problem mit Applet (online / offline) Allgemeine Java-Themen 8
K Applet-Einbindung Allgemeine Java-Themen 11
T Java Applet in IE 8+9 Allgemeine Java-Themen 4
P Applet-Zugriffsrechte: merkwürdiges Verhalten Allgemeine Java-Themen 4
X Applet läuft nicht, Applet in Webseite einbinden Allgemeine Java-Themen 4
P Applet java 1.7 in Website einbinden ? Allgemeine Java-Themen 7
P Applet Applet einbinden Probleme Allgemeine Java-Themen 2
S URL File in Applet Allgemeine Java-Themen 16
S Fehler Applet-HTML Allgemeine Java-Themen 5
C Applet per Greasemonkey aufrufen Allgemeine Java-Themen 9
U Wie kann mit einen Java Applet Dateien erstellen,verschieben und löschen? Allgemeine Java-Themen 9
D JAVA Applet MVC? Allgemeine Java-Themen 2
E Application -> Applet Allgemeine Java-Themen 9
A Applet Mein Applet verursacht Browserabsturz Allgemeine Java-Themen 8
J Erste Schritte Applet allgemeine Funkion Allgemeine Java-Themen 8
T Java Application zu Applet Allgemeine Java-Themen 4
G Input/Output java applet schreibrechte Allgemeine Java-Themen 8
A Input/Output Applet-Zugriff auf PHP-Schnittstelle (externer Server) Allgemeine Java-Themen 22
G java applet und com-port Allgemeine Java-Themen 7
A Applet Jar Datei auslesen Allgemeine Java-Themen 3
M Applet aus Eclipse Allgemeine Java-Themen 12
M Applet Oberfläche aktualisieren Allgemeine Java-Themen 5
S Applet maximiert starten Allgemeine Java-Themen 5
A Email-Programm aus Applet öffnen Allgemeine Java-Themen 4
M AccessControlException bei Signiertem Applet Allgemeine Java-Themen 12
J Applet Ausgabe beim Speichern ausblenden Allgemeine Java-Themen 4
schlingel Webstart/Applet Problem - Classloader-Bug Allgemeine Java-Themen 7
W Java Applet läuft langsam Allgemeine Java-Themen 2
J Applet zum .java-Dateien auslesen/erstellen Allgemeine Java-Themen 5
S Timer in Applet? Allgemeine Java-Themen 11
S Applet Einbindung - Firefox kp, IE no way Allgemeine Java-Themen 8
N Gallery Remote Applet Allgemeine Java-Themen 2
F Link in Applet "verstecken" Allgemeine Java-Themen 3
F mit Applet auf .htaccess geschützte Dateien zugreifen Allgemeine Java-Themen 3
S Applet in Java NetBeans Allgemeine Java-Themen 3
E Applet neustarten Allgemeine Java-Themen 2
F Eclipse JAVAMAIL läuft nur unter Eclipste Applet Viewer Allgemeine Java-Themen 4
I RMI Signiertes Applet ohne Warnung? Allgemeine Java-Themen 14
S Mediaplayer-Applet Allgemeine Java-Themen 2
D Code wird im Applet nicht ausgeführt. Allgemeine Java-Themen 2
H Applet java.lang.reflect.InvocationTargetException Allgemeine Java-Themen 9
N Protocol Frame/Applet Allgemeine Java-Themen 4
J Aus Applikation ein Applet machen Allgemeine Java-Themen 5
S Directory im Applet auslesen Allgemeine Java-Themen 3
A Textdatei im Applet einlesen Allgemeine Java-Themen 2
S Applet funktioniert online - nur nicht lokal..? Allgemeine Java-Themen 2
N Java Applet im eingeschränkten Benutzeraccount Allgemeine Java-Themen 10
L Applet immer wieder neu laden - Problem Allgemeine Java-Themen 25
L Problem beim animieren von Bildern in Applet Allgemeine Java-Themen 23
L Problem mit Hintergrund bei JAVA Applet Allgemeine Java-Themen 27
T applet und JFrame Allgemeine Java-Themen 12
L Applet Verzeichnis lesen Allgemeine Java-Themen 3
J Ordnerstrukturen mit Applet Allgemeine Java-Themen 14
H importierte Bibliotheken in Applet? Allgemeine Java-Themen 4
lumo Applet exception Allgemeine Java-Themen 6
Developer_X Java Applet - Font aus datei laden Allgemeine Java-Themen 15
W Applet notinited nach Java Versionsupdate Allgemeine Java-Themen 12
M Erkennung von Daten in einem Applet Allgemeine Java-Themen 2
M wieder mal applet probleme Allgemeine Java-Themen 17
0 Sandbox und Applet Kommunikation Allgemeine Java-Themen 9
L Applet Problem - stockende und springende Bilderabfolge Allgemeine Java-Themen 12
ChackZz Applikation zu Applet umbauen Allgemeine Java-Themen 13
V Fehler bei Applet Allgemeine Java-Themen 11
G Frage zu Serverapplikation+Applet Allgemeine Java-Themen 2
MQue aus einem Applet auf Word zugreifen Allgemeine Java-Themen 3
B Java Applet unter Mac wird nicht angezeigt Allgemeine Java-Themen 6
N Applet Probleme Allgemeine Java-Themen 2
G Java Applet für VPN Allgemeine Java-Themen 2
C Applet: JFileChooser: PFad an HTML zürückgeben Allgemeine Java-Themen 4
B Zugriff mit einem Applet auf den Datenträger Allgemeine Java-Themen 11
S Applet Programmierung in Eclipse Allgemeine Java-Themen 12
M Applet in maximaler Bildschirmgroesse oeffnen? Allgemeine Java-Themen 7
J Applet in JAR packen - was muss in main() stehen? Allgemeine Java-Themen 12
P Applet Funktionalität überwachen Allgemeine Java-Themen 3
C Externe Bilder in Java-Applet blocken? Allgemeine Java-Themen 2
T Mit Applet per RandomAccessFile Datei öffnen Allgemeine Java-Themen 3
Horst79 Ein ganz simpler filebrowser als applet Allgemeine Java-Themen 2
A Problem mit signiertem Applet Allgemeine Java-Themen 8
T File runterladen mit meinem Applet? Allgemeine Java-Themen 4
F Java Print mit Applet einbinden Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben