Baje el amfphp 1.9 lo descomprimí y esa carpeta la copié en mi htdocs con el nombre de "amfphp1.9".
Ejecute el gateway.php, lo corroboré, todo muy bien, posterior a ello copié en services/amfphp un archivo llamado Calculadora.php (si descubriran que estoy iniciando en este rollo del amf), cheque que funcionara el el browser, todo perfecto.
Me fui a mi archivo Fla, para probar la conexion ( me guié de un tutorial que esta en la red) y seguí todos los pasos, y al momento de compilar mi Fla, mi error.
Error #2044: NetStatusEvent no controlado: level=error, code=NetConnection.Call.BadVersion
at CalculadoraFlash_fla::MainTimeline/frame1()
Ya he revisado varias veces el código, y no se a que se deba dicho error.
Les dejo el script
Código ActionScript :
import flash.net.NetConnection;
import flash.net.Responder;
var gateway:String = "http://localhost/amfphp1.9/gateway.php";
var conexion:NetConnection = new NetConnection;
conexion.connect(gateway);
var responder:Responder;
resultado_txt.enabled = false;
function suma(evento:MouseEvent):void {
var numeroA:Number = Number(numeroA_txt.text);
var numeroB:Number = Number(numeroB_txt.text);
operacion_mc.gotoAndStop("mas");
responder = new Responder(respuesta, error);
conexion.call("Calculadora.sumar", responder, numeroA, numeroB);
}
function resta(evento:MouseEvent):void {
var numeroA:Number = Number(numeroA_txt.text);
var numeroB:Number = Number(numeroB_txt.text);
operacion_mc.gotoAndStop("menos");
responder = new Responder(respuesta, error);
conexion.call("Calculadora.restar", responder, numeroA, numeroB);
}
function multiplicacion(evento:MouseEvent):void {
var numeroA:Number = Number(numeroA_txt.text);
var numeroB:Number = Number(numeroB_txt.text);
operacion_mc.gotoAndStop("por");
responder = new Responder(respuesta, error);
conexion.call("Calculadora.multiplicar", responder, numeroA, numeroB);
}
function division(evento:MouseEvent):void {
var numeroA:Number = Number(numeroA_txt.text);
var numeroB:Number = Number(numeroB_txt.text);
operacion_mc.gotoAndStop("entre");
responder = new Responder(respuesta, error);
conexion.call("Calculadora.dividir", responder, numeroA, numeroB);
}
function obtenFechaHoraServidor():void {
responder = new Responder(respuestaFecha, error);
conexion.call("Calculadora.obtenFechaServidor", responder);
}
function respuesta(resultado:Object):void {
obtenFechaHoraServidor();
resultado_txt.text = String(resultado);
}
function respuestaFecha(resultado:Object):void {
fecha_txt.text = String(resultado);
}
function error(error:Object):void {
trace("Error: " + error.description);
}
mas_btn.addEventListener(MouseEvent.CLICK, suma);
menos_btn.addEventListener(MouseEvent.CLICK, resta);
por_btn.addEventListener(MouseEvent.CLICK, multiplicacion);
entre_btn.addEventListener(MouseEvent.CLICK, division);
obtenFechaHoraServidor();
Y les dejo mi gateway
http://localhost/amfphp1.9/gateway.php
encoding: AMF3
set tab after call: Results
y el script php
Código PHP :
<?php
class Calculadora
{
/**
* Suma dos números pasados por parámetro
* @returns Regresa un valor numérico
*/
function sumar($numeroA, $numeroB)
{
return ($numeroA + $numeroB);
}
/**
* Resta dos números pasados por parámetro
* @returns Regresa un valor numérico
*/
function restar($numeroA, $numeroB)
{
return ($numeroA - $numeroB);
}
/**
* Multiplica dos números pasados por parámetro
* @returns Regresa un valor numérico
*/
function multiplicar($numeroA, $numeroB)
{
return ($numeroA * $numeroB);
}
/**
* Divide dos números pasados por parámetro
* @returns Regresa un valor numérico
*/
function dividir($numeroA, $numeroB)
{
return ($numeroA / $numeroB);
}
/**
* Este método es privado y no aparecerá en el browser de servicios
* @returns Regresa la fecha y tiempo del servidor
*/
function _esteMetodoEsPrivado() {
$fecha_hoy = date("d/m/Y") . ' ' . date("H:i:s");
return $fecha_hoy;
}
/**
* Este método es público y está accediendo a nuestro método privado
* @returns Regresa la fecha y tiempo del servidor
*/
function obtenFechaServidor() {
$fecha_hoy = $this->_esteMetodoEsPrivado();
return $fecha_hoy;
}
}
?>
Por cierto uso Flash CS5, aunque no creo que tenga que ver algo, de antemano muchas gracias, y si he duplicado tema, disculpen, pero no encontraba como solucionar el problema.
Archivo Fla: http://www.dritmina.elementfx.com/Clabdx/calculadora.fla
