Здравствуйте. Есть проблема. Сокет на PHP, клиент на флеше. При запуске из среды - все работает на ура, при запуске выложенной флешки с сервера - она тупо посылает запрос полиси файла, в упор не видя ответа сервера. Кто сталкивался, в чем бок?
PHP код:
if (($msgsock = socket_accept($sock)) < 0) {
throw new Exception('socket_accept() failed: '.socket_strerror(socket_last_error())."\n");
flush();ob_flush();
} else {
echo "OK\n";
flush();ob_flush();
}
$msg = '<'.'?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="*" /></cross-domain-policy>'."\0";
echo "Connected, Say to client (crossdomain.xml) ... ";
flush();ob_flush();
socket_write($msgsock, $msg, strlen($msg));
echo "OK\n";
Код AS1/AS2:
Security.allowDomain("domain.com");
Security.loadPolicyFile("xmlsocket://domain.com:PORT");
var socket:XMLSocket = new XMLSocket();
socket.onConnect = function(success:Boolean) {
if (success) {
trace("Connection succeeded!");
_root.msgArea.text="Connection succeeded!"
socket.send("Boss");
} else {
trace("Connection failed!");
_root.msgArea.text="Connection failed!"
}
};
XMLSocket.prototype.onData = function (src) {
trace(src);
xml = new XML();
xml.ignoreWhite = true;
xml.parseXML(src);
outputMsg.text=src
}
BTN.onPress=function(){
socket.send("Fucking XMLSoket")
}
socket.connect("IP", PORT)
Там где domain.com - реальный домен, IP и PORT - соответственно айпишник и порт вписаны