| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jun 2004
Beiträge: 51
| Ständiger(echtzeit) Austausch zwischen Flash und MySQL, wie?
Hallo Forum, Mein Ziel ist es, im moment nur zu testzwecken, ein kleines "Spiel" zu machen, und zwar 2 Quadrate, die per Tastatur bewegt werden können, und zwar übers Internet. 2 Flash clienten auf 2 PCs, jeder sucht sich ein viereck aus und bewegt es, die Änderungen müssen natürlich gegenseitig sichtbar sein. Also dachte ich mir, die Positionen des Quadrats in der Datenbank zu speichern und wieder abzufragen, die Reihenfolge wäre eigentlich folgende: (Da später noch speicherungen möglich sein sollen, sollte auch bei diesem simplen beispiel erstmal geladen werden) Flash ---fragt nach Position---> position.php position.php ----Anfrage an Datenbank----> mysql mysql ----schickt Position an ---> position.php position.php ----schickt position an---> flash Flash -----> setzt quadrat an Pos. Flash ---neue Pos. an ---> position.php position.php --- speichert neue position in ---> mysql Und dann wiederholt sich das ganze, die scripts dafür sind folgende: Actionscript: Code: //---Variablen erstellen
var PositionSend = new LoadVars();
var PositionGet = new LoadVars();
//---Hauptfunktion
onEnterFrame = function() {
feld1.text = kreis._x;
PositionSend.xpos = kreis._x;
PositionSend.sendAndLoad("position.php", PositionGet,"GET");
PositionGet.onLoad = function() {
kreis._x = this.xposb;
feld2.text = this.xposb;
}
} Und hier der PHP-Code: Code: <?php
include ('connect.php');
$getdata = "SELECT * FROM nam_testone";
$resID = mysql_query($getdata, $linkID);
$data = mysql_fetch_array($resID,MYSQL_BOTH);
if ($xpos!=0) {
$posaendern = "UPDATE nam_testone SET x='$xpos' WHERE color='blue'";
$poseintragen = mysql_query($posaendern, $linkID);
}
echo '&xposb=' . $data[1];
?> Was nun passiert wenn ich die Daten hochlade und die .swf ausführe ist am Anfang, dass der Würfel hin und her springt, zwischen seiner Position in Flash auf der Bühne (132) und dem Wert den ich in MySQL eingetragen habe (200) und dann irgendwann bleibt er bei 132 stehen. Wenn ich jetzt aktualisiere, dann ist der Würfel bei 132, und in mysql ist es logischer Weise auch so eingetragen. Ich weiss nicht woran es liegen könnte, wisst ihr wie ich sowas umsetzen soll? Also es soll halt ein ständiges speichern und laden sein. Man denkt sich jetzt, es könnte ein einmaliges laden sein, und dann nurnoch ein speichern, bis die .swf datei wieder aufgerufen wird, aber das geht ja nicht weil der andere mitspieler am anderen PC ja die änderungen dauernd, also konstant, abfragen muss. Bitte um Hilfe, ich versuch das jetzt seit 3 Tagen jeden Tag 6+ stunden. MfG zarevok |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
| dein provider erschiesst dich, wenn du sowas machst ;-) informiere dich mal über das thema: socket, socketserver, ..
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jun 2004
Beiträge: 51
|
hmm ok, Hab jetzt mal ein wenig gegoogelt, aber so ganz auf nen Nenner bin ich mit meinem Verständniss noch nicht gekommen... Also sehe ich das richtig, es braucht einen Socket aufm Server der die "Verbindung" und den Datenaustausch managed, und "wer" genau macht das? Hab da was gelesen, nämlich dass man mit einem PHP Script so einen Socket einrichten kann, hab aber auch gelesen, dass man spezielle Server dafür braucht. Und diese Daten werden dann hin und her geschickt ohne die Datenbank anzusprechen? Bzw. nur zum speichern könnte man die ja ansprechen. Seh ich das so etwa richtig? Kann ich nicht alles in Textdateien auf dem Server schreiben, und die ständig abfragen und speichern? Oder ist das ebenfalls Tranfser-lastig? Gibt es vieleicht irgendwo gute Einsteiger Tutorials für Sockets? Ich hab keine gefunden. MfG zarevok EDIT: Hab grad das Tutorial auf www.jensschwarz.net gefunden, dass hab ich mir noch nicht ganz angeschaut, mach ich aber gleich. Nur so vor ab, hab ich das richtig verstanden, dass eine XML Datei diese Socketfunktion übernehmen kann und somit praktisch das herumtauschen zwischen den Clients übernimmt? Nochma EDIT: Falls ich doch einen Server brauche, der irgendwas bestimmtes können muss, dann: 1. Was sollte der können? 2. Wie erfahr ich das? Geändert von zarevok (22-02-2009 um 18:21 Uhr) |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.326
|
gibt es irgendwo das buch 'herztransplantation leicht gemacht, der hobbyratgeber'? :-) gewisse aufgaben verlangen gewisse kenntnisse. und die hat man oder man eignet sich die an oder man lässt es bleiben. sorry, mehr varianten gibt es nicht - ich habe diese welt nicht gemacht. ein 'normaler' server reagiert nur auf anfrage. wenn ständig alle telefonieren, dann bricht das leitungsnetzt zusammen. wenn alle autos gleichzeitig fahren, dann sind alle strassen verstopft und keiner fährt mehr. bei einem socketserver (richtig gelesen, das ist ein spezielles programm. so wie man bei seinem provider mail- und php-grogrammieren- und datenbank- usw. -leistungen kaufen kann, so auch das. wer solche spiele betreibt hat seinen eigenen server. zum testen und lernen installiere sowas auf deinem rechner) meldet man sich an und erhält nur dann infos, wenn sich was geändert hat. also der socketserver ruft selbstständig bei dir an. etwas vollkommen anderes ist es, was für eine aufgabe du deinen socketserver machen lässt. ob du daten aus einem file oder aus einer datenbank oder per zufallsgenerator erzeugst hat mit der kommunikation, der datenübertragung, absolut nichts zu tun. da ist also immer alles möglich. [EDIT] XML macht garnichts. XML ist, wie man daten übersichtlich aufschreiben kann. wäre genauso, als wenn du ein word-dokument ohne word benützen willst. das dokument kann garnicht. es wird immer ein programm benötigt.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (22-02-2009 um 18:38 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |