2010-11-16 10 views
5

Quindi, ecco il problema. Gli iPhone sono fantastici, ma la larghezza di banda e la latenza sono seri problemi con le app che hanno requisiti di server. Il mio piano iniziale per risolvere questo problema era di fare richieste multiple di bit di dati (puntura non voluta) e di avere come gestire il problema di molti dei // dati in uscita in uscita. Questa è una cattiva idea per molte ragioni, la più ovvia per me è che il mio povero database (MySQL) non può gestirlo molto bene. Da quello che capisco, è meglio richiedere tutti i pezzi in una volta, specialmente se lo chiederò comunque.Richiesta singola a più risposte asincrone

Il problema è che ora sto aspettando di nuovo una grande quantità di dati. Mi stavo chiedendo se c'è un modo per inviare al server un certo numero di ID da ottenere dal database, e quindi quella richiesta SINGLE poi invia un sacco di piccole risposte, ognuna contenente tutte le informazioni su una singola voce db. L'ordine è irrilevante e idealmente sarei in grado di inviare un'altra richiesta al server dicendogli di smetterla di mandarmi le cose perché ho quello di cui ho bisogno.

Mi rendo conto che probabilmente NON è una cosa semplice da fare se voi (fantastici) ragazzi potreste indicarmi la giusta direzione che sarebbe anche incredibile.

sistema attuale è iPhone (cacao // Objective-C) -> PHP -> MySQL

Grazie una tonnellata in anticipo.

risposta

3

AFAIK, una singola richiesta non può ottenere più risposte. Da quello che stai chiedendo, sembra che tu debba farlo in due parti.

Parte 1: Inviare una singola chiamata con gli ID.

Il server risponde con un singolo messaggio che contiene gli URL o le informazioni necessarie per chiamare le uniche risposte "più piccole".

Parte 2: Operando da tale elenco di risposte, attivare più richieste eseguite sui propri thread.

Sto pensando a questo simile a come funziona una pagina web. Chiami l'URL HTML in un browser web. L'HTML indica al browser tutti i luoghi/URL necessari per ottenere pezzi aggiuntivi (immagini, css, js, ecc.) Per creare l'intera pagina.

Spero che questo aiuti.

+0

Brillante. Grazie mille. Questa è la strada da percorrere. – nickneedsaname

+0

L'unica altra cosa che potevo pensare era in qualche modo creare una connessione tra i due (questo è quello che sono i socket? Sono un noob di rete totale) e inviare la richiesta e quindi ascoltare la connessione mentre i dati arrivano. Ma è un po 'più di lavoro che creare URL unici. – nickneedsaname

Problemi correlati