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 Nazioni Unite 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 di:

  • 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é 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 importazione URLRequestMethod.;

	 Sample extends PXBaseDocument public class Sample estende PXBaseDocument
	 {
		 onDocumentReady ( ) : void eseguire l'override 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", il nome utente, "pass", 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 delle Nazioni Unite 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", 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 dell'ONU più la spécifique de classe PXAMFMultiServices a 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 eseguire l'override 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 ) ; . setArguments di sessione (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 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 lontano. 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 écouteurs; servizio chaque étant des PXService à part 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 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 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="">