Pixlib Servizi - L'estensione pour les Appels distants

Nouvelle Lecon, cette fois-ci sur l'utilizzo de l'estensione PixService permettant de réaliser des Appels distants.

Appels QUI permettront de caricabatterie des données simplement et aussi faire des Appels à des servizi distants (AMF, HTTP ...) Complessi.

L'estensione PixService Contient plusieurs implementazioni CALCESTRUZZI:

  • 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:

  • DEFINIR des argomenti à ajouter lors de l'appel;
  • d'abonner des Cuffie 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 ; importare flash.net URLRequestMethod.;

	 Sample extends PXBaseDocument public class Esempio estende PXBaseDocument
	 {
		 onDocumentReady ( ) : void ignorare onDocumentReady funzione protetta (): 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", username, "passare", pwd).;
			 ( PXServiceEvent . onDataResultEVENT , _onResult ) ; . servizio addEventListener (PXServiceEvent onDataResultEVENT, _onResult.);
			 ; . servizio execute ();
		 }

		 _onResult ( event : PXServiceEvent ) : void _onResult private function (evento: PXServiceEvent): void
		 {
			 event . result , this ) ; . PXDebug DEBUG (risultato dell'evento, questo.);
		 }
	 }
 } 

Ci-dessus effectuons nous Donc ONU semplice appel à la page "getSession.php" en spécifiant que nous enverrons des argomenti 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 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", 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 Los Angeles.

  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 ; servizi di importazione netta pixlib 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 onDocumentReady funzione protetta (): 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 = nuovi PXAMFMultiServices ("http://www.../index.php");
			 "HelloWorld" , "getPrompt" ) ; . servizi AddService ("HelloWorld", "getPrompt");

			 / / Ascolto per specifico servizio di risposta e passare 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.);

			 / / Ascolta per la risposta globale
			 ( PXServiceEvent . onDataResultEVENT , _onResult ) ; Servizi addEventListener (PXServiceEvent onDataResultEVENT, _onResult.).;
			 ; . servizi execute ();
		 }

		 _onSession ( event : PXServiceEvent ) : void _onSession private function (evento: PXServiceEvent): void
		 {
			 event . result , this ) ; . PXDebug DEBUG (risultato dell'evento, questo.);
		 }

		 _onResult ( event : PXServiceEvent ) : void _onResult private function (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 distante. Via la méthode "AddService ()" il est donc possibile d'ajouter de nouveaux appels avec versare chacun d'entre eux des Paramètres et même des Ecouteurs; servizio chaque étant des PXService à part entière.

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

Codifica felice con Pixlib

Questo articole è stato pubblicato in estensione , quadro , Tutorial e contrassegnata con , , , , , , . Contrassegna il permalink .

Lascia un Commento

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

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