2010-09-17 7 views
1

J'utilise actionscript pour me connecter à mon serveur de socket, mais j'ai toujours reçu <policy-file-request/> envoyé par actionscript et après que la conneciton est fermée. Le code actionscript est:actionscript: se connecter au serveur socket

  protected function connect_to_server_btn_clickHandler(event:MouseEvent):void 
     { 
      Security.loadPolicyFile("http://192.168.0.198/crossdomain.xml"); 
      socket = new Socket(); 
      socket.addEventListener(Event.CONNECT, onConnect); 
      socket.connect("192.168.0.198", 9999); 
     } 

Le contenu de crossdomain.xml:

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
<allow-access-from domain="*" /> 
</cross-domain-policy> 

Le swf et il html emballage sont tous mis sous http://192.168.0.198/bin-debug/, et le fichier crossdomain.xml est chargé par actionscript avec succès (par l'intermédiaire de l'outil de capture de paquet).

Je pense que je ne devrais pas obtenir <policy-file-request/> si j'ai fourni le fichier crossdomain.xml? Merci d'avance!

+0

oh, quelqu'un peut-il m'aider à le modifier? ressemble à crossdomain.xml est invisible. –

Répondre

1

Voici tutoriel comment résoudre http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html

Flash Player vérifie pour un serveur de fichier de stratégie (port 843 par défaut), ou le cas échéant, sur la prise que vous ouvrez (pour vous, le port 2222).

Également, lisez this.

+0

vous pouvez également trouver un projet opensource basé sur python, qui libère ce serveur, et répond avec votre fichier crossdomain personnalisé sur le port 843. Comme celui-ci http://www.webmechs.com/actionscript-3-tutorials/actionscript-echo-server.html Vous pourriez même trouver un paquet deb/rpm. – Eugene

+0

Ou vous pouvez utiliser mes demandes de réponse au module Apache 2 sur le port 843: http://code.google.com/p/mod-socket-policy/source/browse/trunk/ –

Questions connexes