質問

私達は私達のウェブサイトのためのいくつかの基本的なチャット/ IM機能をホストする.NETで仕立てサーバーを開発しました、そしてクライアントがのXMLSocketを使用してフレックス(AS3)で書かれています。

今、私たちは2台のサーバー、純粋にポリシーファイルを送信し、もう1つはIM /チャット機能を扱う専用のものを持っています。

問題で、私たちは、クライアントが接続見ることができ、ポリシーファイルが送られたが、その後のフラッシュは、ポリシーファイルを無視し、私たちのチャット/ 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);
役に立ちましたか?

解決

クロスドメインポリシーはサーバだけその上で動作します...あなたは別のサーバーのためのポリシーを提供するサーバーを持つことができません...何があなたのマシンのためのポリシーを作成し、あなたのデータを盗む悪役を停止します。

あなたは正しいサーバーから提供ポリシーを持っている必要があります。

他のヒント

おかげGergorしかし、私は意味は、我々は、ポリシーファイルを送信し、実際の接続(両方とも同じマシン上で)を処理するために1専用の一つのサーバを開いたということです。

問題は、あなたがすぐにポリシーサーバ上で他に何もせずにポリシーファイルを送信する必要があることだった。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top