Pixlib Servizi - L'estensione pour les Appels distants

Nouvelle leçon, cette fois-ci sur l'utilizzo de l'estensione PixService permettant de Realiser des Appels distants.

Appels qui permettront de caricabatterie des données simplement et aussi faire des appels à des services distants (AMF, HTTP ...) complessi.

L'estensione PixService contient plusieurs implementazioni Calcestruzzo:

  • PXHTTPService: Appels à des pagine distantes retournant des données;
  • PXStreamService: Appels à des pages distantes retournant dell'ONU objet URLStream;
  • PXSharedObjectService: Appels à SharedObject ONU;
  • PXAMFService: Appel à un servizio AMF;
  • PXAMFMultipleServices: multipli Appels à des servizi AMF (en une passe).

L 'API définie dans le nucleo de Pixlib permet versare chacun de servizi CES de:

  • définir des argomenti à Aggiungi lors de l'appel;
  • d'abonner des écouteurs versare suivre l'état de l'appel;
  • définir ONU processus de dé Serialisation des données, si besoin.

Prenons premier ONU exemple avec la classe PXHTTPService.

  pacchetto
 {
	 pixlib . core . PXBaseDocument ; . importazione netta pixlib nucleo PXBaseDocument..;
	 pixlib . log . PXDebug ; . importazione netta pixlib login PXDebug..;
	 pixlib . log . PXTraceLayout ; . importazione netta pixlib login PXTraceLayout..;
	 pixlib . log . addLogListener ; . importazione netta pixlib login addLogListener..;
	 pixlib . services . PXHTTPService ; . importazione netta pixlib servizi PXHTTPService..;
	 pixlib . services . PXService ; . importazione netta pixlib servizi PXService..;
	 pixlib . services . PXServiceEvent ; . importazione netta pixlib servizi PXServiceEvent..;

	 . URLRequestMethod ; flash.net import URLRequestMethod.;

	 Sample extends PXBaseDocument public class Sample estende PXBaseDocument
	 {
		 onDocumentReady ( ) : void ignorare funzione protetta onDocumentReady (): void
		 {
			 getInstance ( ) ) ; addLogListener (PXTraceLayout getInstance ().);

			 String = "Anonymous" ; var username: String = "Anonimo";
			 String = "" ; var pwd: String = "";

			 PXService = new PXHTTPService ( "http://www..../getSession.php" , URLRequestMethod . POST ) ; servizio var: PXService = new PXHTTPService ("http: //www..../getSession.php", URLRequestMethod POST.);
			 "login" , username , "pass" , pwd ) ; servizio setArguments ("login", username, "pass", pwd).;
			 ( PXServiceEvent . onDataResultEVENT , _onResult ) ; . servizio addEventListener (PXServiceEvent onDataResultEVENT, _onResult.);
			 ; . servizio execute ();
		 }

		 _onResult ( event : PXServiceEvent ) : void _onResult privato funzione (evento: PXServiceEvent): void
		 {
			 event . result , this ) ; . PXDebug DEBUG (. Risultato dell'evento, questo);
		 }
	 }
 } 

Ci-dessus effectuons nous donc un simple appel à la "getSession.php" en spécifiant que nous enverrons des argomenti pagina en mode "POST".

Passons Nous ensuite nos deux argomenti attraverso la méthode "setArguments ()" qui pour le PXHTTPService fonctionne sous forme de Paire "nom / valeur". Ici la propriété "login", Puis sa valeur, puis la propriété "pass" et sa valeur.

Su Ajoute ONU bagno écouteur versare surveiller le résultat renvoyé par cet appel.

Bien entendu, il est possibile d'utiliser directement la classe PXHTTPService au lieu de passer par interfaccia l'PXService. Ceci permettant d'utiliser les méthodes spécifiques à cette classe.

  PXHTTPService = new PXHTTPService ( "http://www..../getSession.php" , URLRequestMethod . POST ) ; servizio var: PXHTTPService = new PXHTTPService ("http: //www..../getSession.php", URLRequestMethod POST.);
 "login" , username ) ; . servizio addVariable ("login", nome utente);
 "pass" , pwd ) ; . servizio addVariable ("pass", pwd);
 ( PXServiceEvent . onDataResultEVENT , _onResult ) ; . servizio addEventListener (PXServiceEvent onDataResultEVENT, _onResult.);
 ; . servizio execute (); 

Cette Règle est applicabili à toutes les classi de PixService.

Les autres appels fonctionnent de la même manière (merci PXService), mais voyons le cas peu più spécifique de classe PXAMFMultiServices La.

  pacchetto
 {
	 pixlib . core . PXBaseDocument ; . importazione netta pixlib nucleo PXBaseDocument..;
	 pixlib . log . PXDebug ; . importazione netta pixlib login PXDebug..;
	 pixlib . log . PXTraceLayout ; . importazione netta pixlib login PXTraceLayout..;
	 pixlib . log . addLogListener ; . importazione netta pixlib login addLogListener..;
	 pixlib . services . PXAMFMultiServices ; . importazione netta pixlib servizi PXAMFMultiServices..;
	 pixlib . services . PXService ; . importazione netta pixlib servizi PXService..;
	 pixlib . services . PXServiceEvent ; . importazione netta pixlib servizi PXServiceEvent..;

	 Sample extends PXBaseDocument public class Sample estende PXBaseDocument
	 {
		 onDocumentReady ( ) : void ignorare funzione protetta onDocumentReady (): void
		 {
			 getInstance ( ) ) ; addLogListener (PXTraceLayout getInstance ().);

			 String = "Anonymous" ; var username: String = "Anonimo";
			 String = "" ; var pwd: String = "";

			 PXAMFMultiServices = new PXAMFMultiServices ( "http://www.../index.php" ) ; Servizi Var: PXAMFMultiServices = new PXAMFMultiServices ("http: //www.../index.php");
			 "HelloWorld" , "getPrompt" ) ; . servizi addService ("HelloWorld", "getPrompt");

			 // Ascoltare specifico servizio di risposta e passare gli argomenti specifici
			 PXService = services . addService ( "SessionService" , "getSession" ) ; sessione var: PXService = servizi addService ("SessionService", "getSession");.
			 username , pwd ) ; . sessione setArguments (username, pwd);
			 ( PXServiceEvent . onDataResultEVENT , _onSession ) ; . session addEventListener (PXServiceEvent onDataResultEVENT, _onSession.);

			 // Ascoltare risposta globale
			 ( PXServiceEvent . onDataResultEVENT , _onResult ) ; . servizi addEventListener (PXServiceEvent onDataResultEVENT, _onResult.);
			 ; . servizi execute ();
		 }

		 _onSession ( event : PXServiceEvent ) : void _onSession privato funzione (evento: PXServiceEvent): void
		 {
			 event . result , this ) ; . PXDebug DEBUG (. Risultato dell'evento, questo);
		 }

		 _onResult ( event : PXServiceEvent ) : void _onResult privato funzione (evento: PXServiceEvent): void
		 {
			 event . result , this ) ; . PXDebug DEBUG (. Risultato dell'evento, questo);
		 }
	 }
 } 

La classe PXAMFMultiServices permet d'attaquer plusieurs servizi AMF en un seul appel lontano. Via la méthode "addService ()" il est donc possibile d'Aggiungi de nouveaux appels avec versare chacun d'entre eux des Paramètres et même des écouteurs; servizio chaque étant des PXService à part entière.

La Librairie PixService est disponible sur la pagina des Téléchargements , les fonti sur le SVN et la documentazione ici .

Felice di codifica con Pixlib

Questo articole è stato pubblicato in Extension , Framework , Tutorial e contrassegnati , , , , , , . Contrassegna il permalink .

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag e attributi: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">