Buenas Jorge,
He estado leyendo los 2 enlaces y no concretan en una solución final, bueno, hay uno que dice que si lo ha conseguido pero no dice como. En el servidor Java tengo un evento de entrada de datos donde visualizo los datos que me vienen del cliente (en este caso un SWF) el cual tengo este código:
Código ActionScript :
// Conexion con el Servidor BM.
xmlSocket = new XMLSocket();
xmlSocket.connect("97.225.158.110", 8090);
// Petición de Seguridad de Flash.
try {
Security.loadPolicyFile("xmlsocket://97.225.158.110:8090");
} catch (e:IOError) {
variablesAG.error.text = "Securidad:"+e.text;
}
xmlSocket.addEventListener(DataEvent.DATA, onIncomingData);
xmlSocket.addEventListener(Event.CONNECT, onConectado);
xmlSocket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, errorConexion);
xmlSocket.addEventListener(IOErrorEvent.IO_ERROR, errorAlgo);
Pues bien, en el servidor de Java veo como me entra la petición desde el SWF con la linea <policy-file-request/> y desde este hago lo siguiente:
Código Java :
if(data.equalsIgnoreCase("<policy-file-request/>")) {
Main.Log.append("Enviando archivo Politica Seguridad");
nbc.write("<cross-domain-policy><allow-access-from domain=\"97.225.158.110\" to-ports=\"8090\"/></cross-domain-policy>\0");
return true;
}
Pues bien, el servidor Java automáticamente cierra la conexión por un error y al rato el SWF salta un error #2048.
¿Porque el SWF no carga el archivo de Política de Seguridad que le estoy enviando desde Java?
Por cierto, el SWF esta en el servidor, es decir, lo cargo desde un explorer. Pero si desde mi ordenador de casa ejecuto el SWF desde el IDE, funciona todo bien.
Gracias.