2010-02-06 7 views
10

Los últimos dos días hemos estado revisando este problema durante varias horas para descubrir qué está pasando y no podemos encontrar ninguna pista. Esto es lo que está pasando; Tenemos una aplicación Flash que permite a las personas hacer pedidos. Los usuarios configuran un producto y Flash genera y genera una imagen de ese producto y se lo presenta al usuario. Cuando estén satisfechos, pueden enviar un pedido al servidor. Una matriz de bytes de la imagen y algunas otras variables se envían al servidor que procesa el pedido y genera un PDF con un resumen del pedido y la imagen del producto. El script de pedido luego envía todo de vuelta al navegador.La solicitud de archivo php desde Flash se cuelga en Safari

Todo va muy bien, excepto Safari en OSX 10.4. Ocasionalmente se produce el pedido, pero la mayor parte del tiempo Safari se cuelga. Al mirar la ventana de Actividad en Safari, indica que está esperando el script de pedido y que es "0 bytes de?". Pensamos que había algo mal con el servidor, por lo que hemos probado varios otros servidores, pero el problema persiste. Inicialmente usamos una publicación simple para procesar el pedido pero, en un esfuerzo por resolver este problema, recurrimos a algunos métodos más sofisticados, como la comunicación remota Flash a través de AMFPHP. Esto tampoco solucionó el problema.

Usamos Charles para monitorear el tráfico http para averiguar si las solicitudes están saliendo del navegador pero lo extraño es que cuando Charles se está ejecutando, no podemos reproducir el problema.

Espero que alguien tenga alguna idea de lo que sucede porque no podemos resolverlo.

+0

Dudo que este sea un problema con su código o servidor o algo por el estilo. Teniendo en cuenta que funciona en cualquier otro lugar, lo dejaría como un error de Flash o Safari/Mac. - Déjame ponerlo así: el 99% de los bloqueos relacionados con el navegador en Mac se deben a Flash; el reproductor flash * es * una de las aplicaciones más molestas y que acaparan los recursos de uso común; Apple ha rechazado públicamente Flash siempre que sea posible. - Personalmente, estoy muy de acuerdo con Apple en esto, pero así soy yo. - Siento que no puedo ser de ninguna ayuda: – Atli

+0

Solo mirando tu título, voy a sugerir AMFPHP o ZendAMF, y Charles - pero parece que sabes exactamente lo que estás haciendo. Es realmente extraño que funcione en todas partes menos en Safari, ya que aparentemente el navegador ni siquiera se está involucrando: estás haciendo la conexión AMF directamente desde el reproductor al servidor. Por favor, háganos saber si usted resuelve esto! – Myk

+0

Dos cosas para solucionar: 1) ¿Alguna diferencia con Safari en otras versiones (más recientes) de OSX? 2) ¿Safari (la misma versión) para Windows replica el error? – artlung

Respuesta

1

sólo una conjetura salvaje:

es conseguir que el PDF de vuelta el resultado de 1 solicitud HTTP que tanto envía todos los datos necesarios para el servidor y obtiene la función de densidad como resultado? De lo contrario, esto podría ser un problema de tiempo: ¿está seguro de que todos los datos están disponibles en el servidor en el momento en que se solicita el pdf? El número de conexiones paralelas permitidas a un sitio web no es el mismo para todas las marcas/versiones de los navegadores, y tal vez eso podría influir en la probabilidad de que ocurra un "choque".

Prueba fácil: introduzca un retraso entre el envío de los datos al servidor y la recuperación del pdf y vea si eso tiene algún efecto.

+0

Gracias Simon, creo que vale la pena intentarlo. No es realmente una solicitud, sino dos. El primero envía todos los datos de la imagen y recibe una respuesta con un token para realizar la segunda solicitud. La segunda solicitud contiene algunas variables de orden más. El PDF es la respuesta a la segunda solicitud. Hasta ahora, siempre ha sido que si llega la primera solicitud, la segunda también lo hace y el PDF también se genera, envía y recibe. – Abel

+0

Tengo algunas actualizaciones sobre este problema. Hemos estado jugando un poco con el tiempo. Parece ser un gran paso hacia la solución. Actualmente, obtenemos errores en Acrobat que dicen "Datos insuficientes para una imagen", pero ya no hemos podido reproducir el error en ninguna máquina. – Abel

Cuestiones relacionadas