Pixlib Servizi - L'estensione Pour les Appels distants

Nouvelle leçon, 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 services distants (AMF, HTTP ...) complessi.

L'estensione PixService contient plusieurs implementazioni CALCESTRUZZI:

  • PXHTTPService: Appels à des pagine distantes retournant des données;
  • PXStreamService: Appels à des pages distantes retournant un 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 à Aggiungi lors de l'appel;
  • d'Abbonarsi des écouteurs versare suivre l'état de l'appel;
  • définir un processus de dé Serialisation des données, si besoin.

Prenons premier un exemple avec la classe PXHTTPService.

  pacchetto
 {
	 pixlib . core . PXBaseDocument ; . importazione netta pixlib nucleo PXBaseDocument..;
	 pixlib . log . PXDebug ; . importazione netta pixlib accedere PXDebug..;
	 pixlib . log . PXTraceLayout ; . importazione netta pixlib accedere PXTraceLayout..;
	 pixlib . log . addLogListener ; . importazione netta pixlib accedere 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 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", nome utente, "pass", pwd).;
			 ( PXServiceEvent . onDataResultEVENT , _onResult ) ; . Il servizio addEventListener (PXServiceEvent onDataResultEVENT, _onResult.);
			 ; . Il servizio execute ();
		 }

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

Ci-dessus effectuons nous donc un semplice appel à la "getSession.php" en que nous enverrons spécifiant 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 un 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 ) ; . Il servizio addVariable ("login", nome utente);
 "pass" , pwd ) ; . Il servizio addVariable ("pass", pwd);
 ( PXServiceEvent . onDataResultEVENT , _onResult ) ; . Il servizio addEventListener (PXServiceEvent onDataResultEVENT, _onResult.);
 ; . Il 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 accedere PXDebug..;
	 pixlib . log . PXTraceLayout ; . importazione netta pixlib accedere PXTraceLayout..;
	 pixlib . log . addLogListener ; . importazione netta pixlib accedere 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 ) ; . sessione addEventListener (PXServiceEvent onDataResultEVENT, _onSession.);

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

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

		 _onResult ( event : PXServiceEvent ) : void _onResult privato function (evento: PXServiceEvent): void
		 {
			 event . result , this ) ; . PXDebug DEBUG (. Risultato 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'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 estensione, Quadro, 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="">