banner

Précédent   InfographiK - Communauté Graphique > FLASH & ACTION SCRIPT > Flash niveau Avancé > Flash dynamique

Réponse
 
LinkBack Outils de la discussion
  #1 (permalink)  
Vieux 26/03/2007, 10h39
Avatar de Smike
Administrateur
 
Date d'inscription: May 2002
Localisation: 26
Messages: 3 007
Zoom [Flash 9] Connecting to a Socket Server

¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
Trad by MaF
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

Se connecter a un serveur de xmlsocket

Dans ce tuto vous apprendrez a vous connecter a un serveur de socket XML pour recevoir et envoyer des données.

Créer un nouveau document fla nommer le SoketTutorial.fla
Dans le panneau action (F9)


ActionScript Code:
  1. Var mySocket :XMLSocket = new MLSocket ();
  2. //création de l’obj XMLSocket
  3.  

Ne vous laissez pas avoir par son nom, L’obj XMLSocket non seulement peut utiliser des donnée formaté XML mais également tous les données sous forme texte

Dessiner un bouton sur la scène qui servira a envoyer les message au serveur le nommer conncetBtn

Suite du code :


ActionScript Code:
  1. connectBtn.addEventListener(MouseEvent.CLICK, SocketConnect);
  2. //event au Clic sur le bouton appel de SocketConnect() ;  la function SocketConnect
  3.  

ActionScript Code:
  1. function SocketConnect(event:MouseEvent):void {   
  2. mysocket.addEventListener(Event.CONNECT, connectHandler);
  3. //event déclenché après une connexion au serveur ait été établi   
  4. mysocket.addEventListener(Event.CLOSE, closeHandler);
  5. //event déclenché après la fermeture de la connexion au serveur   
  6. mysocket.addEventListener(DataEvent.DATA, dataHandler);
  7. //event déclenché a la reception de data du serveur.   
  8. mysocket.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
  9. //déclenché lors de l’erreur d’envoi ou de réception     
  10. mysocket.connect("localhost", 10000);
  11. //connexion du socket au serveur sur le port 10000 (blabla serveur)
  12. }


• Ajoutons la fonction connectHandler appelé lorsque la connexion est établi (Event.CONNECT)

ActionScript Code:
  1. function connectHandler(event:Event):void {       
  2.  //        trace("Connected to Server");
  3. }
• Définissons la fonction ioErrorHandler en cas d’erreur d’échec lors de la connexion (ici on met juste une alerte dans le débuguer)

ActionScript Code:
  1. function ioErrorHandler(event:IOErrorEvent):void {  trace("Error: " + event);}
• Function appelé lors de la fermeture de la connexion closeHandler

ActionScript Code:
  1. function closeHandler(event:Event):void {   
  2. trace("Disconnected");
  3. }
• dataHandler(), function appelée lors de la réception de data:

ActionScript Code:
  1. function dataHandler(event:DataEvent):void {       
  2. trace("Data: " + event.data);
}
Maintenant que nous avons mis en place un connexion basic, nous pouvons recevoir et lire les data envoyer par le serveur : dataHandler() voyons comment envoyer des data au serveur

• Ajoutez le code qui suit dans la procédure connectHandler():

ActionScript Code:
  1. mysocket.send("Hello");
ActionScript Code:
  1. function connectHandler(event:Event):void {       
  2. trace("Connected to Server");mysocket.send("Hello");
  3. }
Une fois connecter on envoi « Hello » au serveur via la méthode send de l’objet XMLSocket
En cas d’echec la function ioErrorHandler() sera appellé

Nous pouvons egalement envoyer un obj xml qui sera converti en string



ActionScript Code:
  1. mysocket.send(myObject);
J'ai testé avec blablaserveur un serveur de socket de démo d'un tuto developpez.com, ca marche mais c'est heu comment dire "limité" comme démo, on dois pouvoir améliorer ça (code et explications)

Il y a quelques semaines en jouant avec AS3.0 j'ai commencer un client chat flash en AS3.0 (socket binaire) il est pas très avancé mais fonctionne.

Maf
__________________
[La musique fait danser les consciences]
Réponse avec citation
Réponse

Outils de la discussion

Règles de messages
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui



Fuseau horaire GMT +2. Il est actuellement 16h46.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0 Tous droits réservés.
Version française #13 par l'association vBulletin francophone

Communauté Graphique
CNIL : 1130886