Frage

haben wir einen maßgeschneiderten Server in .NET entwickeln einige grundlegenden Chat / IM-Funktionen für unsere Webseite zu hosten, und der Kunde wird in Flex (AS3) mit XMLSocket geschrieben.

Jetzt haben wir zwei Server, ein rein Senden Richtliniendateien gewidmet, und eine IM / Chat-Funktionen behandeln.

Das Problem ist, können wir die Kunden sehen verbinden, die Richtliniendatei gesendet wird, aber dann Flash ignoriert die Richtliniendatei und Anfragen wieder aus unserem Chat / IM-Server.

Richtliniendatei:

<?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>

Richtlinienserver:

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);
War es hilfreich?

Lösung

Cross Domain Policy funktioniert nur für den Server seines auf ... Sie keinen Server dienen, um die Richtlinie für einen anderen Server haben können ... was einen Bösewicht stoppen würde eine Richtlinie für die Maschine erstellen und Ihre Daten zu stehlen.

Sie finden die Politik vom richtigen Server bedient haben müssen.

Andere Tipps

Danke Gergor aber, was ich meinte ist, dass wir einen Server gewidmet geöffnet Richtliniendateien zu verschicken und eine tatsächliche Verbindungen (beide auf der gleichen Maschine) zu behandeln.

Das Problem war nur, dass Sie brauchen, um sofort die Richtliniendatei zu senden, ohne irgendetwas anderes auf dem Richtlinienserver zu tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top