2009-05-03 2 views
0

Ich möchte einen FMS-Server über ein Skript kontaktieren und das persistente Remote-SharedObject herunterladen.Ich möchte das Remote-SharedObject von einem FMS-Server über RTMP herunterladen

Das Flash-Programm verbindet sich mit dem FMS-Server, öffnet eine NetConnection, macht einen SharedObject.getRemote-Aufruf. Ich möchte auf diese Informationen über PHP, Ruby, Perl usw. zugreifen, um mit einem Skript zu arbeiten.

Ich verstehe, dass diese Informationen über das RTMP-Protokoll als AMF-Objekt an den Flash Player gesendet werden. Da es RTMP und nicht HTTP ist, kann ich beispielsweise keinen SabreAMF-Client verwenden, da es cURL verwendet, das RTMP nicht unterstützt.

Wer hat irgendwelche Ideen, wie man das macht?

Antwort

1

Ein SharedObject ist im Wesentlichen nur eine Schlüssel/Wert-Sammlung. Alles, was Sie tun müssen, ist, den Aufruf über Flash zu machen, auf das Update-Ereignis zu warten, alle Eigenschaften des SharedObject zu durchlaufen und sie in ein eigenes Objekt zu schreiben - ein Dictionary oder nur einen Objekttyp. Sie können dies dann an Ihren Sabre AMF Gateway senden, egal welchen Typ PHP dafür verwendet.

+0

Danke, ich denke, der einfachste Weg wäre, meine eigene SWF zu schreiben, die das Shared Object verbindet und herunterlädt, und es in eine Form bringt, mit der ich mit PHP arbeiten kann. Ich hatte gehofft, etwas, das dies in einem Skript tut, obwohl - können Sie SWFs von einer Befehlszeile ausführen? – JAL

+0

Nicht zu meinem Wissen. Wenn Sie möchten, dass etwas kontinuierlich läuft, erstellen Sie eine AIR-App, die die Aufgabe für Sie erledigt. Es gibt auch die Möglichkeit, einen Red5 Server einzurichten, aber dann müssen Sie Ihre Programmierung in Java machen. Wenn Sie AIR verwenden, empfehle ich, dass Sie es in Flex erstellen und den Speicherprofiler verwenden, um Speicherverluste zu vermeiden, die zu Abstürzen führen. Lesen Sie mehr über AIR und Speicher @ http://allyourbase-tech.blogspot.com/2008/08/air-garbage-collection-and-memory-leaks.html –

1

Sorry, keine Erfahrung mit SabreAMF, also was ich sagen werde, wird nicht viel helfen.

Können Sie nicht ein swf als Proxy/Brücke von SabreAMF zu Ruby? Holen Sie das Remote-Objekt von der swf und wenn Sie die Daten haben, übergeben Sie es an Ihre bevorzugte Server-Sprache (Ruby, etc.)?

+0

Danke für Ihre Überlegungen. Ich möchte genau das tun, aber ich fand, dass der Sabre-Client curl verwendet, der RTMP nicht unterstützt. Wenn es so wäre, könnte ich das AMF-Objekt bekommen und es würde es zu einem PHP-Objekt für mich oder was auch immer machen. – JAL

+0

Kein Problem. Zu sein könnte ich dir keine Lösung geben, sollte ich meine Antwort löschen? –

+0

Ich denke du bist auf dem richtigen Weg, und ich habe es zuerst nicht verstanden! Ich habe noch nie eine SWF gemacht, aber das könnte der Schlüssel hier sein. – JAL

Verwandte Themen