Проблема с файлом политики для ActionScript 3 XMLSocket - PullRequest
0 голосов
/ 27 сентября 2010

мы разработали специализированный сервер в .NET для размещения некоторых основных функций чата / чата для нашего веб-сайта, а клиент написан на Flex (AS3) с использованием XMLSocket.

Теперь у нас есть 2 сервера,один предназначен исключительно для отправки файлов политики, а другой - для функций чата / чата.

Проблема в том, что мы видим, что клиент подключается, файл политики отправляется, но затем Flash игнорирует файл политики и снова запрашивает его унаш чат / IM-сервер.

Файл политики:

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

Сервер политики:

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);

Ответы [ 2 ]

0 голосов
/ 07 декабря 2010

Спасибо, Гергор, но я имел в виду, что мы открыли один сервер, предназначенный для отправки файлов политики, и один для обработки фактических подключений (оба на одной машине).

Проблема заключалась в том, что вам нужно немедленно отправить файл политики, ничего не делая на сервере политики.

0 голосов
/ 28 сентября 2010

Междоменная политика работает только для сервера, который включен ... у вас не может быть сервера, обслуживающего политику для другого сервера ... что помешало бы злодею создать политику для вашей машины и украсть ваши данные.

Вам потребуется обслуживать политику с правильного сервера.

...