Господа, имеется следующий наистандартнейший код на AS2
Код:
vHost = "127.0.0.1";
vPort = 2345;
System.security.loadPolicyFile("http://"+vHost+"/crossdomain.xml");
var xsConnection:XMLSocket = new XMLSocket();
var bConnected:Boolean = xsConnection.connect(vHost,Number(vPort));
xsConnection.onConnect = function(bSuccess:Boolean):Void
{
if(bSuccess)
{
trace("Успешное соединение с сервером ");
}
else
{
trace("Не могу соединиться с сервером ");
}
}
xsConnection.onClose = function () {
trace("Connection to server lost.");
}
xsConnection.onData = function(sData:String):Void
{
///обработка XML
}
Публикую эту флэшку с опцией Access network only
На сервере (apache) находится файл crossdomain.xml в корне (
http://127.0.0.1/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="*" to-ports="2345" />
</cross-domain-policy>
При запуске на сервере ХТМЛ файла из которого загружается эта флэшка происходит считывание пресловутого crossdomain.xml файла политики это видно из логов:
Код:
127.0.0.1 - - [30/Oct/2008:17:51:39 +0500] "GET /interfaces/interface.swf HTTP/1.1" 200 273860
127.0.0.1 - - [30/Oct/2008:17:51:39 +0500] "GET /interfaces/interface.ini HTTP/1.1" 304 -
127.0.0.1 - - [30/Oct/2008:17:51:39 +0500] "GET /crossdomain.xml HTTP/1.1" 304 -
НО СОЕДИНИТСЯ C XML-СЕРВЕРОМ(127.0.0.1:2345) ВСЕ РАВНО НЕ ПОЛУЧАЕТСЯ (происходит временная установка (на 1сек)
и последующий разрыв соединения). При запуске тойже самой ХТМЛ локально все работает (соединение, обмен данными).
В чем может быть подвох?
(PS пробовал экспериментировать с кодировкой crossdomain.xml - не помогло)