Flex2 AMF0 Gateway
Para evitar configuraciones innecesarias he añadido una propiedad gateway a la clase que maneja la conexión AMF0 (Aquella que uses con la linea objectEncoding = ObjectEncoding.AMF0;), de forma que la propia aplicación autoconfigure la url donde se encuentra el servlet de OpenAMF.
Este método utiliza el nuevo soporte para expresiones regulares (RegExp) en AS3 para averiguar parte de la url que nos llevará hasta nuestro gateway. Además gatewayName guarda el nombre del gateway.
El código es el siguiente:
[sourcecode language=»javascript»]private static var gatewayName:String = «/gateway»;
public static function get gateway():String {
if (Application.application.url == null)
return «»;
var slashPattern:RegExp = /\/{1,2}/g;
var i:Number = 0
var result:Object = slashPattern.exec(Application.application.url);
while (result != null && i<2) {
result = slashPattern.exec(Application.application.url);
i++;
}
return Application.application.url.substring(0, index) + gatewayName;
}[/sourcecode]
En el caso de OpenAMF, el nombre del servlet, usado en gatewayName, suele ser «/gateway» o «/gateway2» (dependiendo de que utilices DefaultServlet o AdvancedServlet). En AMFPHP, no lo he probado, pero supongo que sería «/gateway.php».
UPDATE: Arreglo en la composición de la url, de forma que tengamos en cuenta cualquier nivel de anidación del SWF. En OpenAMF el Servlet siempre estará justo después del contexto de la aplicación, por tanto, solo hay que iterar dos veces el bucle.
Una respuesta
Estimado Carlos, ante todo, felicidades por tus excelentes posts. Considero tu blog como bitácora de referencia en el campo.
He creado recientemente un blog dedicado a RIAs en http://www.presenciaeninternet.es
Humildemente, me gustaría aportar mi granito de arena y poco a poco quisiera hacerla crecer.
En este sentido, me gustaría que incluyeras enlace a la misma desde tu web, lo cual te agradecería. Yo ya he hecho lo propio con la tuya.
Bueno espero que sigamos manteniendo contacto puesto que yo y mi empresa pensamos dedicar cada vez más recursos a la realización de RIAs.
Un saludo y gracias por tu atención!!.