Tomnar Geschrieben 13. Mai 2010 Teilen Geschrieben 13. Mai 2010 Hallo, bin neu hier ^^ ich hoffe ich schreibe das hier im richtigen unterforum, es ist ein bisschen themenübergreifend und könnte evt. auch in einem flash/as3 unterforum stehen, aber das gibts hier ja nicht ^^ So genug von mir, jetzt zur frage: Ich bin dabei ein system zu coden indem sowohl eine MySQL datenbank, Java Servlets und Flash clienten sind. Die administration wird vom web aus gesteuert (PHP) und die daten werden dann in die MySQL datenbank gelegt. Dieser inhalt soll dann von den flashclienten gezeigt werden und so live wie möglich sein. Zz. habe ich es so gelöst, dass meine flashclienten durch einen timerevent jede sekunde das servlet ansprechen welches dann die daten aus der datenbank holt, es in XML umwandelt und an den clienten schickt. Das ist leider keine gute lösung, da jeder client die ganz zeit daten requestet obwohl sich wahrscheinlich nichts geändert hat. Kann man dies auf eine bessere art lösen? Freue mich auf eure hilfe und ich hoffe es ist einigermaßen klar wo das problem liegt (wie gesagt, bin 'n neuer) Ich habe auch ein Bild angehängt zur veranschaulichung - Tomnar Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
smash Geschrieben 13. Mai 2010 Teilen Geschrieben 13. Mai 2010 Ich denke, dass man an der Lösung einiges verbessern kann. Wenn Clients einen Server regelmäßig nach neuen Daten fragen, nennt man das Polling. Das kann bedeuten, das viele Anfragen gestellt werden, wobei oft gar keine neuen Daten vorliegen. HIer könnte man die Häufigkeit der Anfragen optimieren. Alternativ könnte man ein Publish & Subscribe-Verfahren einsetzen. Das bedeutet, dass sich die Clients am Server anmelden. Alle angemeldeten Clients bekomment vom Server automatisch die neuen oder veränderten Daten geschickt. Die Clients sollten sich dann aber auch wieder abmelden. Ansonsten wird die Anzahl der angemeldeten Clients immer größer, obwohl viele Clients keine Daten mehr benötigen. Hier müsstest du dir überlegen, wie du die Abmeldung garantieren kannst, auch wenn jemand das Browserfenster schließt. Oder du setzt zusätzliche Methoden ein, um den Status des Clients zu überprüfen. Abgesehen davon, setzt du jetzt schon drei verschiedene Technologien ein: PHP, Java und Flash. Kann man machen. Ob du das tun solltest hängt letztlich von den Anforderungen an dein System ab. Man könnte jedenfalls versuchen, das ganze in homogener Technologie umzusetzen, z. B. mit Java + Servlets + JavaFX. Außerdem könnte man einen WebService benutzen, um die An- und Abmeldung der Clients sowie den Versand der XML Daten durchzuführen. Das sind aber keine Themen für Anfänger. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 13. Mai 2010 Teilen Geschrieben 13. Mai 2010 Im Großen und Ganzen schließe ich mich smash an, evtl würde ich das ganze auch entschlacken: Warum setzt Du Java, Flash und PHP ein? Du könntest das ganze via PHP und Ajax vereinfachen. Evtl gibst Du uns einfach ein paar Details Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hellslawyer Geschrieben 13. Mai 2010 Teilen Geschrieben 13. Mai 2010 Und wenn es denn Flash sein soll, dann gibt es dafür Socket und XML-Socket-Verbindungen mit denen Flash ganz prima spielen kann. Ein TimerEvent ist mit Sicherheit die schlechteste Lösung für ein solches System. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tomnar Geschrieben 13. Mai 2010 Autor Teilen Geschrieben 13. Mai 2010 ok, erstmal danke für die antworten. PHP ist nur eine vorübergehende lösung um schnell die datenbank mit daten zu füttern, auf längere sicht werden wir es durch servlets ersetzen. Da mach ich mich mal ran, habe auch noch ein paar andere sachen die geändert werden müssen. Ich melde mich wenns wieder was gibt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.