Comunidad de diseño web y desarrollo en internet online

Ayuda, Error AMFPHP 1.9

Citar            
MensajeEscrito el 29 Sep 2010 05:20 am
Hola que tal, un saludo a todos los Clabers que leen este topic, el motivo por el que vengo molestando es el siguiente:
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

Por Deivtox

72 de clabLevel



Genero:Masculino  

Estudiante

firefox
Citar            
MensajeEscrito el 29 Sep 2010 03:23 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Sep 2010 07:31 pm
Si claro que si, entre al browser, ahí probé los métodos de mi archivo php y todos funcionan bien.

Por Deivtox

72 de clabLevel



Genero:Masculino  

Estudiante

firefox
Citar            
MensajeEscrito el 29 Sep 2010 07:40 pm
revisa con que php estas trabajando el error puede se de version ,tambien hace hace un trace completo de la funcion

Por xcom

Claber

530 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Sep 2010 08:20 pm
xcom, disculpa mi ignorancia, pero a que función le hago el trace ?, y con respecto a la versión del php estoy trabajando con php 5.3.1, también tengo que checar en amfphp con que versión de php trabaja?, es que soy nuevo en esto de manejar amfphp.

Por Deivtox

72 de clabLevel



Genero:Masculino  

Estudiante

firefox
Citar            
MensajeEscrito el 30 Sep 2010 02:31 am
Mira que pasa si le cambias del defaultEncoding a AMF0 en tu NetConnection, aunque si mal no recuerdo con AMF3 debería estar ok

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Sep 2010 04:43 pm
@solisarg ya le cambié en defaultEncoding a AMF0 y sigue el problema :( , ya también le cambié el nombre de la carpeta de amfphp1.9 a simplemente amfphp, estaba leyendo un tutorial que @Freddie publicó hace años (http://bit.ly/aR1eXU) y en el habla de instalar Flash Remoting, no se si es necesario instalarlo, ¿tiene que ver mi versión de flash que uso (CS5) ?, o ya simplemente algún tutorial para que aprenda amfphp 1.9 desde cero, ya que dicho problema surge porque estoy aprendiendo a utilizar el amfphp 1.9 :lol: , de antemano muchas gracias.

Por Deivtox

72 de clabLevel



Genero:Masculino  

Estudiante

firefox
Citar            
MensajeEscrito el 02 Oct 2010 04:43 am
Nuevamente dándome una vuelta por aquí, con la noticia que ya resolví mi problema, no se trataba ni de mi script de as3 ni de php, sino en la una línea que tenia que cambiar en el archivo de gateway.php (la linea 106 para ser exacto de la versión 1.9 de amfphp), No conozco mucho sobre este archivo solo se que realiza el enlace con mis servicios :lol: pero hasta ahi. ¿Cual fue el cambio?, simple cambiar de true a false, la solución la encontré en este comentario:

Código :

This is not a bug.. it’s actually a feature:
To be able to use the standalone flash player you have change this piece of code in gateway.php:

define(“PRODUCTION_SERVER”, true);
to
define(“PRODUCTION_SERVER”, false);

Referencia: http://bit.ly/9dfnPu

Bueno ya solucioné mi problema, ahí solo si me pueden decir mas acerca del archivo gateway.php, aparte de lo que mencionan en la site de amfphp.

Muchas Gracias a los Clabers que se tomaron la molestia de leer este topic, y por si alguién mas cae en mi error, ya saben cual es la solución. :wink:

Por Deivtox

72 de clabLevel



Genero:Masculino  

Estudiante

firefox
Citar            
MensajeEscrito el 02 Oct 2010 11:33 pm
¿Estabas probando desde el navegador o desde dentro de Flash?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Oct 2010 05:40 pm
antes de realizar el cambio en el gateway.php, lo probé desde Flash CS5 (ctrl+ENTER) y me mandaba ese error, y en el browser (firefox, chrome y IE) nunca cargó mi consulta, pero ahora que realice este cambio desde Flash, Flex o el Navegador funciona perfectamente.

Por Deivtox

72 de clabLevel



Genero:Masculino  

Estudiante

firefox
Citar            
MensajeEscrito el 04 Oct 2010 03:37 am
mm que raro uso la misma version 1.9 y cuando es un call desde el IDE funciona bien , desde el browser me ayudo del FL debugger o del charles, que raro :D

Jonathan

Por maneuver

243 de clabLevel



Genero:Masculino  

Mexico City

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.