Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Flash 8] <policy-file-request/>

Php<->Flash avec Socket

Sujet résolu
    13 février 2008 à 16:14:32

    Bonjour
    J'essaie de faire un chat en Flash avec une gestion PHP avec les sockets.
    Voici le code côté Flash:
    1. import flash.external.ExternalInterface;
    2. Stage.showMenu = false;
    3. System.security.loadPolicyFile("http://87.106.XXX.XXX:80/crossdomain.xml")
    4. //System.security.loadPolicyFile("xmlsocket://87.106.XXX.XXX:9816");
    5. //System.security.allowDomain("87.106.XXX.XXX");
    6. // CONNEXION
    7. var SocketRep:XMLSocket = new XMLSocket();
    8. if (!SocketRep.connect('87.106.XXX.XXX', 9816)) _root.Trace.text+="\nInitialisation de la connexion impossible";
    9. // RECEPTION
    10. i=0;
    11. XMLSocket.prototype.onData = function(Paquet) {
    12.         _root.Trace.text+="\n==> "+Paquet;
    13.         }
    14. };
    15. SocketRep.onConnect = function(success:Boolean) {
    16.         if (success)
    17.                 _root.Trace.text+="\nConnexion réussi";
    18.         else
    19.                 _root.Trace.text+="\nConnexion échoué";
    20. };
    21. // ENVOI DONNEES
    22. SocketRep.send('Truc');


    Lorsque je l'exécute à partir de flash cela fonctionne parfaitement avec le serveur PHP (exécuté sur 87.106.XXX.XXX en commande). Mais lors que je met le .swf sur 87.106.XXX.XXX et que je l'execute http://87.106.XXX.XXX:80/Chat.swf, le serveur reçoit le fameux: "<policy-file-request/>".
    Ayant surfer au moins 1 journée dessus, je te trouve pas comment faire.
    Le serveur renvoi tout de suite le crossdomain.xml (System.security.loadPolicyFile("xmlsocket://87.106.XXX.XXX:9816"))
    1. <?php
    2. [...]
    3. $Paquet=  '<cross-domain-policy>
    4.  <allow-access-from domain="*" to-ports="9816"/>
    5. </cross-domain-policy>'.chr(0x00);
    6. socket_write($ClientSocket,$Paquet);
    7. [...]
    8. ?>

    Mais j'ai l'impression de rien se produit du côté du Flash. Même en renvoyant un message du serveur vers le client après l'envoi du crossdomain.xml, j'ai aussi essayer de le mettre sur le port 80 à la racine de 87.106.XXX.XXX mais rien.

    Merci d'éclairer ma lanterne à fin de résoudre ce problème de sécurité ;)
    • Partager sur Facebook
    • Partager sur Twitter
      13 février 2008 à 16:57:58

      tu peux essayer de faire un tour du coter de amf php...

      j'ai essayé ca facilite grandement la vie pour coupler du flash et du php...
      • Partager sur Facebook
      • Partager sur Twitter
      MysterTy a sa mysterty-cave. Vous êtes célibataire ? Wantedlove est fait pour vous. C'est 100% gratuit !
        13 février 2008 à 17:17:03

        Le problème n'est pas du aux echanges puisque cela fonctionne parfaitement quand le script Client et Serveur sont regroupés sur 127.0.0.1.
        J'ai regardé AMF8 et cherché fichier par fichier et je n'ai rien vu aucun mot: "policy"
        Mais le client et le serveur sont sur 2 machines différentes, j'ai aussi mi sur la même machine "87.106.XXX.XXX" mais toujours pareil (et la configuration en 127.0.0.1 marche pas ^^)
        • Partager sur Facebook
        • Partager sur Twitter
          13 février 2008 à 17:38:48

          alors désoler, je ne puis pas t'aider plus... c'est point mon domaine...pour l'instant !
          • Partager sur Facebook
          • Partager sur Twitter
          MysterTy a sa mysterty-cave. Vous êtes célibataire ? Wantedlove est fait pour vous. C'est 100% gratuit !

          [Flash 8] <policy-file-request/>

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown