Foros del Web » Creando para Internet » Flash y Actionscript »

crossdomain.xml

Estas en el tema de crossdomain.xml en el foro de Flash y Actionscript en Foros del Web. Hola, estoy realizando una aplicacion cliente-servidor utilizando sockets. Tengo un servidor de sockets en php, y uso flash como cliente. Si pruebo el cliente en ...
  #1 (permalink)  
Antiguo 15/05/2010, 07:54
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 19 años, 2 meses
Puntos: 5
Pregunta crossdomain.xml

Hola, estoy realizando una aplicacion cliente-servidor utilizando sockets.

Tengo un servidor de sockets en php, y uso flash como cliente.
Si pruebo el cliente en flash desde adobe flash todo funciona bien, el cliente envia informacion y el servidor responde, pero a la hora de insertar el swf en mi web, este no conecta con el servidor y es porque adobe tiene unas reglas de seguridad sobre la conexion con sockets..

He probado esto:
http://stackoverflow.com/questions/1...ting-to-server

Osea, crear un archivo xml que ponga las reglas, tiene este codigo:
Código:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">

<!-- Policy file for xmlsocket://socks.example.com -->
<cross-domain-policy> 

   <!-- This is a master socket policy file -->
   <!-- No other socket policies on the host will be permitted -->
<!--   <site-control permitted-cross-domain-policies="all"/> -->

   <!-- Instead of setting to-ports="*", administrator's can use ranges and commas -->
   <!-- This will allow access to ports 123, 456, 457 and 458 -->
   <allow-access-from domain="*" to-ports="*" secure="false"/>

</cross-domain-policy>
Y en mi swf cargo el archivo:

Código:
Security.loadPolicyFile("crossdomain.xml");
Pero nada, no conecta...

¿Alguien tiene la solucion?

Gracias!
__________________
http://www.pkmrpg.es
  #2 (permalink)  
Antiguo 15/05/2010, 09:17
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 19 años, 2 meses
Puntos: 5
Respuesta: crossdomain.xml

Solucionado!

simplemente si flash me pedia el policy file, se lo devolvia desde mi servidor de sockets:
Código PHP:
else if (preg_match("/policy-file-request/i", $datos) || preg_match("/crossdomain/i", $datos))
{
  echo "[".date('Y-m-d H:i:s')."] CROSSDOMAIN.XML REQUEST\n";
  $contents='<?xml version="1.0"?><cross-domain-policy><allow-access-from domain="*" to-ports="80" /></cross-domain-policy>';
 
  socket_write($socket,$contents);
  $contents="";
 
  $index = array_search($socket, $array_sockets);
  unset($array_sockets[$index]);
  socket_shutdown($socket, 2);
  socket_close($socket);
}
Ahora uso el puerto 80, para evitar que los firewalls corten la coenxion

Un saludo
__________________
http://www.pkmrpg.es
  #3 (permalink)  
Antiguo 15/05/2010, 12:05
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 19 años, 2 meses
Puntos: 5
Respuesta: crossdomain.xml

Solucionado!

simplemente si flash me pedia el policy file, se lo devolvia desde mi servidor de sockets:
Código PHP:
else if (preg_match("/policy-file-request/i", $datos) || preg_match("/crossdomain/i", $datos))
{
  echo "[".date('Y-m-d H:i:s')."] CROSSDOMAIN.XML REQUEST\n";
  $contents='<?xml version="1.0"?><cross-domain-policy><allow-access-from domain="*" to-ports="80" /></cross-domain-policy>';
 
  socket_write($socket,$contents);
  $contents="";
 
  $index = array_search($socket, $array_sockets);
  unset($array_sockets[$index]);
  socket_shutdown($socket, 2);
  socket_close($socket);
}
Ahora uso el puerto 80, para evitar que los firewalls corten la coenxion

Un saludo
__________________
http://www.pkmrpg.es

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:56.