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 pagine distantes retournant ONU objet URLStream;
  • PXSharedObjectService: Appels à SharedObject delle Nazioni Unite;
  • 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 ces servizi de:

  • définir des argomenti Ajouter à lors de l'appel;
  • d'abonner des écouteurs versare suivre l'état de l'appel;
  • définir ONU processus de dé Serializzazione 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 importazione URLRequestMethod.;

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

			 String = "Anonymous" ; var username: String = "Anonymous";
			 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", il nome utente, "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 evento, questo);
		 }
	 }
 } 

Ci-Dessus effectuons nous donc ONU semplice appel à la "getSession.php" en spécifiant que nous enverrons des argomenti page en mode "POST".

Passons Nous bagno nos deux argomenti tramite 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 l'interfaccia PXService. Ceci permettant d'utiliser les Méthodes SPECIFIQUES à 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", username);
 "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 carte.

  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 Esempio estende PXBaseDocument
	 {
		 onDocumentReady ( ) : void ignorare funzione protetta onDocumentReady (): void
		 {
			 getInstance ( ) ) ; addLogListener (PXTraceLayout getInstance ().);

			 String = "Anonymous" ; var username: String = "Anonymous";
			 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 ) ; . sessione 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 evento, questo);
		 }

		 _onResult ( event : PXServiceEvent ) : void _onResult privato funzione (evento: PXServiceEvent): void
		 {
			 event . result , this ) ; . PXDebug DEBUG (. Risultato 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'Ajouter de nouveaux appels avec versare chacun d'entre eux des parametri et même des écouteurs; servizio chaque étant des PXService à parte entière.

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

Felice di codifica con Pixlib

Questa voce è stata pubblicata in Extension , quadro , Tutorial e contrassegnata con , , , , , , . Contrassegna il permalink .

Lascia un Commento

Il tuo indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <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="">