Показать сообщение отдельно
Старый 17.04.2010, 13:05
MageMerlin вне форума Посмотреть профиль Отправить личное сообщение для MageMerlin Найти все сообщения от MageMerlin
  № 1  
Ответить с цитированием
MageMerlin

Регистрация: Apr 2010
Сообщений: 4
По умолчанию Flash + PHP (Сокет)

Здравствуйте. Есть проблема. Сокет на 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$msgstrlen($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 - соответственно айпишник и порт вписаны