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 :

Xmlsocket et system.security.loadpolicy


Sujet :

Flash

  1. #1
    PBR
    PBR est déconnecté
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 16
    Points
    16
    Par défaut Xmlsocket et system.security.loadpolicy
    Bonjour à tous,

    Bien que le sujet ait déjà été abordé dans d’autres posts, j’ai bien suivi les tutos à ce sujet mais je n’ai toujours pas de solution…
    Je vous explique mon problème :


    Je suis en train de développer un petit chat pour mon site web, dont le client (en flash) se connectera à un serveur distant via XMLSocket.
    Le programme « serveur » et le client (SWF) ne sont pas hébergés sur le même domaine.
    En local, la connexion se fait bien, mais une fois le swf uploadé chez mon hebergeur, il n’arrive pas à se connecter au serveur (hébergé chez moi).

    J’essaie donc de contourner ce problème de sécurité en utilisant un crossdomain.xml chargé avec System.security.loadPolicyFile(), mais ça ne fonctionne toujours pas, j’ai du oublié quelque chose…


    Voici ma config :

    Le client (swf) se trouve chez mon hebergeur qu’on appellera http://mon-hebergeur.com

    Le serveur se trouve sur un poste chez moi. IP local 192.XXX.XXX.XXX
    Il écoute sur le port 18000.
    Sur ce poste, je fais tourner également un serveur apache sur le port 81, et je place un crossdomain.xml à la racine du site.
    Comme j'ai déjà du mal, je ne met pas de restriction de domaine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <cross-domain-policy> 
      <allow-access-from domain="*" to-ports="18000"/> 
    </cross-domain-policy>
    Il est donc accessible en local avec http://192.XXX.XXX.XXX:81/crossdomain.xml

    Pour ma connexion Internet, je passe par un routeur. IP Internet 83.XXX.XXX.XXX
    J’ai donc routé toutes les arrivées sur 83.XXX.XXX.XXX :81, vers 192.XXX.XXX.XXX :81 pour accéder à mon serveur apache (et donc au fichier crossdomain via l’adresse http://83.XXX.XXX.XXX:81/crossdomain.xml), et de la même manière 83.XXX.XXX.XXX :18000, vers 192.XXX.XXX.XXX :18000 pour accéder au serveur de chat.

    Côté client, voici ce que j’ai mis dans le SWF :

    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
     
    // Je veux récupérer mon crossdomain pour autoriser la connexion 
    // socket sur une IP distante
    System.security.loadPolicyFile("http://83.XXX.XXX.XXX:81/crossdomain.xml");
     
    // l’adresse de ma connexion internet, qui sera routée vers mon serveur 
    // local 192.XXX.XXX.XXX
    var ipserveur = 83.XXX.XXX.XXX
    var portserveur = 18000 
     
    // Je crée mon objet XMLSocket et je me connecte
    socket = new XMLSocket();
    socket.connect(ipserveur, portserveur);
    socket.onConnect = connexion;
     
    // résultat de la connexion
    function connexion(verifOk ) 
         // ici verifOk vaut false
    }
    Et la connexion n’aboutie pas (alors qu’elle marche en local). Par contre, le crossdomain est bien accessible, car il s’affiche en tapant http://81.XXX.XXX.XXX:81/crossdomain.xml

    Je ne vois pas ce qui coince, ça fait un moment que je cherche mais je tourne en rond.

    Pouvez-vous me venir en aide SVP ?


    PBR

  2. #2
    Membre éprouvé
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Points : 1 210
    Points
    1 210
    Par défaut
    Salut,

    bizarre en effet... tu as essayé en mettant le crossdomain sur le port 80 et en n'utilisant le loadPolicy ?

    @++
    Libzippp (C++)
    Lost in AStorm

  3. #3
    PBR
    PBR est déconnecté
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 16
    Points
    16
    Par défaut
    Merci pour ta réponse

    Du coup je me suis fais un petit serveur auquel je me connecte directement via xmlsocket, plutot que par http... et ca fonctionne

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/08/2008, 21h07
  2. Réponses: 0
    Dernier message: 21/08/2007, 22h08
  3. [VB.NET] System.Security.Permission ....
    Par ludovic85 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 17/10/2006, 12h24
  4. [VBNET] System.Security.SecurityException
    Par PoZZyX dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/05/2006, 14h11
  5. [Delphi.NET][SDK] Comment interpréter System.Security.SecurityException?
    Par Laurent Dardenne dans le forum Delphi .NET
    Réponses: 4
    Dernier message: 07/04/2005, 13h43

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