2010-11-16 9 views
5

Entonces, aquí está el problema. Los iPhones son increíbles, pero el ancho de banda y la latencia son problemas serios con las aplicaciones que tienen requisitos de servidor. Mi plan inicial para resolver esto fue hacer múltiples solicitudes de bits de datos (juego de palabras no intencionado) y así fue como se manejó el problema de la gran cantidad de datos entrantes // salientes. Esta es una mala idea por muchas razones, la más obvia para mí es que mi pobre base de datos (MySQL) no puede manejar esto muy bien. Por lo que entiendo, es mejor solicitar fragmentos grandes a la vez, especialmente si voy a pedir todo de todos modos.Solicitud única a múltiples respuestas asíncronas

El problema es que ahora estoy esperando de nuevo una gran cantidad de datos para pasar. Me preguntaba si hay una forma de enviar básicamente al servidor un montón de identificaciones para obtener de la base de datos, y luego esa solicitud ÚNICA envía muchas respuestas pequeñas, cada una con toda la información sobre una sola entrada de base de datos. El orden es irrelevante, e idealmente podría enviar otra solicitud al servidor diciéndole que deje de enviarme cosas porque tengo lo que necesito.

Me doy cuenta de que esto probablemente no sea una cosa simple de hacer, así que si (increíble) los muchachos pudieran apuntarme en la dirección correcta, eso también sería increíble.

sistema actual es iPhone (cacao // Objective-C) -> PHP -> MySQL

Gracias por tonelada de antemano.

Respuesta

3

AFAIK, una sola solicitud no puede obtener respuestas múltiples. Por lo que está preguntando, parece que necesita hacer esto en dos partes.

Parte 1: Envíe una sola llamada con los ID.

Su servidor responde con un solo mensaje que contiene las URL o la información necesaria para llamar a las únicas respuestas "más pequeñas".

Parte 2: Trabajando desde esa lista de respuestas, ejecute múltiples solicitudes que se ejecutan en sus propios hilos.

Estoy pensando en esto similar a cómo funciona una página web. Llama a la URL HTML en un navegador web. El HTML le dice al navegador todos los lugares/URLS que necesita para obtener piezas adicionales (imágenes, css, js, etc.) para compilar la página completa.

Espero que esto ayude.

+0

Brillante. Gracias una tonelada. Esto es definitivamente el camino a seguir. – nickneedsaname

+0

La única otra cosa en la que podía pensar era crear una conexión entre los dos (esto es lo que son los zócalos? Soy un novato de red total) y enviar la solicitud y luego escuchar la conexión a medida que entran los datos. Pero eso es un poco más trabajo que hacer urls únicas. – nickneedsaname

Cuestiones relacionadas