IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Discussion :

Socket en flash


Sujet :

Flash

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 277
    Par défaut Socket en flash
    Bonjour,

    J'ai un serveur en Perl fait maison dont voila le source:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    #!/usr/bin/perl
    use Socket;
    $ENV{'PATH'} = '/bin:/usr/bin';
    delete @ENV{ 'IFS', 'CDPATH', 'ENV','BASH_ENV'};
     
    $utilisateur        = "nobody";
    $this_host          = "*";
    $port               = 1026;
    $server_addr        = (gethostbyname($this_host))[4];
    $server_struct      = pack("S n a4 x8", AF_INET, $port, $server_addr);
    $proto              = (getprotobyname("tcp"))[2];
    socket( SOCK, PF_INET, SOCK_STREAM, $proto ) || die "Impossible d'initialiser la socket: $!\n";
    setsockopt( SOCK, SOL_SOCKET, SO_REUSEADDR,1 ) || die "setsockopt() foire: $!\n";
    bind( SOCK, $server_struct ) || die "bind foire: $!\n";
    listen( SOCK, SOMAXCONN ) || die "listen foire: $!\n";
    unless ($uid = (getpwnam($utilisateur))[2])
    {
       die "Tentative de lancer le serveur en tant qu'utilisateur inexistant ou supperutilisateur\n";
    }
    print "UID: $uid\n";
     
    for ( ;; )
    {
       $remote_host = accept( NEWSOCK, SOCK );
       die "accept() erreur: $!\n" unless ($remote_host);
       $raw_addr = ( unpack( "S n a4 x8", $remote_host ) )[2];
       @octets = unpack( "C4", $raw_addr );
       $adresse = join( ".", @octets );
       print "Connexion de: $adresse\n";
       print NEWSOCK "toto";
       print "Termine\n";
       close(NEWSOCK);
    }
    En fait c'est un serveur tout simple, qui renvoi "toto" a chaque connexion. Ca marche en faisant telnet 192.168.0.4 1026

    J'essai de faire un client en flash qui fait la meme chose, j'ai donc un bouton et un testfield ( texte ).

    Voici mon script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    var socket = new XMLSocket();
    socket.onConnect = connexion;
    socket.onData = reception;
    socket.onClose = deconnexion;
     
    function connexion(isOk)
    {
    	if(isOk) // la connection s'est bien déroulée
    		texte.text += "OK Connexion\n";
    	else
    		texte.text += "Echec de la connexion !\n";
    }
     
    function deconnection()
    {
    	texte.text += "connection terminee.\n";
    }
     
    function reception(chaine)
    {
    	texte.text += "["+chaine.toString()+"]\n";
    }
     
    bouton.onRelease = function() {
    	texte.text="tentative de connexion\n";
    	socket.connect( "192.168.0.4", 1026 );
    }
    La connexion se fait bien, mais le fonction reception n'est jamais appelé, donc il n'imprime pas le toto. De plus, bien que mon script ferme la connexion, la fonction deconnection n'est pas appelé non plus.

    J'utilise la version d'evaluation de flash professionnel 8. C'est la premiere fois que je fais du flash...

    Avez-vous des idées ?
    Merci par avance.

  2. #2
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 277
    Par défaut Pour le probleme de deconnexion
    Re,

    Pour ce probleme ( l'evenement deconnexion jamais appele ) c'etait du a une faute de frappe entre deconnection et deconnexion ( je n'ai meme pas eu d'erreur pour ca... ) Sinon il me reste le probleme du "toto" qui n'apparait pas ( evenement reception non appele.

    Cordialement.

  3. #3
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut
    Je te conseille de consulter ce petit tuto sur les communication Flash et un serveur : Chat en Flash

    A mon avis lorsque tu déclares ton XMLSocket, utilises plutôt le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var socket = new XMLSocket();
    socket.onConnect = connexion;
    socket.onXML = reception;
    socket.onClose = deconnexion;

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 277
    Par défaut Deja essaye
    Re,

    En fait je me suis base sur le chat en flash pour faire mon script, j'ai deja essayé ta methode mais j'ai le meme resultat.

    Merci.

  5. #5
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut
    Nouvelle idée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    var socket : Object = null;
    var connected : Boolean = false;
     
    function connexion(isOk){
    	if(isOk) // la connection s'est bien déroulée
    		texte.text += "OK Connexion\n";
    	else
    		texte.text += "Echec de la connexion !\n";
    }
     
    function deconnection(){
    	texte.text += "connection terminee.\n";
    }
     
    function reception(chaine){
    	texte.text += "["+chaine.toString()+"]\n";
    }
     
    bouton.onRelease = function(){
    	if(not connected){
    		socket = new XMLSocket();
    		socket.onXML = reception;	
    		socket.connect( "192.168.0.4", 1026);	
    		socket.onConnect = connexion;		
    		socket.onClose = deconnexion;
     
    		texte.text="tentative de connexion\n";
    		connected = false;
    	}
    }

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 277
    Par défaut Idem
    Bonjour,

    Toujours pareil.

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Socket xml flash/PHP
    Par Invité dans le forum Dynamique
    Réponses: 1
    Dernier message: 03/03/2010, 14h17
  2. [FLASH][SOCKET] XMLsocket sous Flash
    Par Muetdhiver dans le forum Dynamique
    Réponses: 3
    Dernier message: 29/10/2009, 11h38
  3. [FLASH MX2004] [XMLSocket] Problème avec serveur socket php
    Par cocodunombril dans le forum Flash
    Réponses: 4
    Dernier message: 03/04/2009, 02h10
  4. faire parler php et flash sans sockets
    Par jc_cornic dans le forum Langage
    Réponses: 6
    Dernier message: 01/05/2007, 11h24
  5. python & flash : communication via socket -> Null byt
    Par arcane14 dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 30/01/2006, 21h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo