HEEEEYYY consegui hacerlo funcionar!!!!, soy un puto crack un puto crack entendieron???!!!
Esto es lo que hay que hacer para hacer funcionar tanto a smartfox lite como a cualquier servidor de sockets a travez de las mil capas de seguridad de flash player:
1) Se tienen que bajar un milagroso programa que lo que hace es enviar el crossdomain.xml al swf.
Funciona tanto para smartfox lite como para cualquier servidor de sockets similar.
Policy server:
Bajarlo de aca:
http://www.smartfoxserver.com/products/download.php?d=42Si no baja lo buscan aca:
http://www.smartfoxserver.com/whitepapers/fp_security/index.html 2) Abren la carpeta del policy server y modifican el archivo policy.xml de esta manera:
Código :
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy
SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all" />
<allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>
En lugar de "*" pueden escribir el dominio que no quieran filtrar y no se podra entrar desde ningun otro. Asi esta configurado para que se pueda entrar desde cualquier lado.3) Abren el swf y antes de la linea "smartfox.connect(port, ip)" agregan lo siguiente:
Código :
System.security.loadPolicyFile("xmlsocket://direccion_del_server:843")
Veamos: Lo mas importante es que el puerto 843 siempre tiene que ser ese , no lo puden cambiar , por que la politica de seguridad del flash player solo permite pasar el crossdomain.xml a travez de ese puerto y solo de ese puerto.
"direccion_del_servidor" es la ip o dominio, externo, de su servidor , pueden tambien usar la ip interna ej: 192.168.1.129, pero solo sirve para hacer pruebas ya que nadie que no este dentro de su red interna podra entrar con esa ip.
4) Arrancan el policy-server.bat y el servidor smartfox (o el que tengan) y ¡¡ya funciona que puedan acceder al servidor desde cualquier lado!!
Tarda unos segundos en conectar.
Posibles problemas:
Cuando esta funcionando el policy-server.bat veran una ventana que pone "conected users: 0"
Cuando intentan conectarse desde el swf, si la conexion se realiza correctamente veran "connected users: 1" .
Si ese 1 cambia a 0 despues de unos 5 segundos significa que se envio correctamente el crossdomain pero que el swf no lo aceptó, puede que hay algo mal con el paso 2.
Si todo funciona bien veran connected users: 1 , tardara unos segundos en conectarse y despues de haberse conectado correctamente connected users cambia a 0.