2010-09-27 35 views
0

Nous avons développé un serveur personnalisé dans .NET pour héberger certaines fonctions de base de chat/messagerie instantanée pour notre site Web, et le client est écrit en Flex (AS3) à l'aide de XMLSocket.Problème avec le fichier de stratégie pour ActionScript 3 XMLSocket

Maintenant, nous avons 2 serveurs, l'un dédié aux fichiers de politique d'envoi pur, et l'autre traitant les fonctions de Chat/Chat.

Le problème est que le client se connecte, le fichier de régulation est envoyé, mais Flash ignore le fichier de régulation et le demande de nouveau à notre serveur de chat/messagerie instantanée.

fichier de stratégie:

<?xml version="1.0" encoding="UTF-8"?> 
<cross-domain-policy> 
    <site-control permitted-cross-domain-policies="master-only"/> 
    <allow-access-from domain="*" to-ports="*" secure="false"/> 
</cross-domain-policy> 

serveur Policy:

Server.LogMessage("Policy Server: Serving policy file."); 
      TcpListener listener = (TcpListener)ar.AsyncState; 
      Socket client = listener.EndAcceptSocket(ar); 
      NetworkStream ns = new NetworkStream(client); 
      StreamReader sr = new StreamReader(ns); 
      StreamWriter sw = new StreamWriter(ns); 

      sr.Read(); 
      //Send policy 
      sw.Write(Server.EncodeString(Server.xmlPolicyFile.OuterXml) + "\0"); 
      sw.Flush(); 
      ns.Flush(); 
      //Cleanup 
      sw.Close(); 
      sr.Close(); 
      ns.Close(); 
      //Do it again! 
      tcl.BeginAcceptSocket(AcceptCallback, tcl); 

Répondre

0

Cross Stratégie de domaine ne fonctionne que pour le serveur sur son ... vous ne pouvez pas avoir un serveur qui sert la politique de serveur différent ... ce qui empêcherait un méchant de créer une politique pour votre machine et de voler vos données.

Vous devez avoir la stratégie servie à partir du serveur approprié.

0

Merci Gergor mais ce que je voulais dire, c'est que nous avons ouvert un serveur dédié à l'envoi de fichiers de politique et un pour gérer les connexions réelles (les deux sur la même machine).

Le problème était que vous deviez immédiatement envoyer le fichier de stratégie sans rien faire d'autre sur le serveur de règles.