2010-08-29 2 views
6

Ho un piccolo bug nella mia app client che utilizza NSURLConnection. L'ho rintracciato in una connessione inaspettata keep-alive che sembra confondere il server web (probabilmente un bug sul lato server). La soluzione alternativa sarebbe forzare la chiusura di tutte le connessioni in sospeso a un certo punto. Posso fare questo in qualche modo con NSURLConnection, vale a dire qualcosa comeNSURLConnection e keep-alive

[NSURLConnection closeAllIdleConnections];

+0

Ho lo stesso problema ma con UIWebView. La risposta ASIHTTPRequest non aiuta molto in questo caso. – titaniumdecoy

risposta

1

ASIHTTPRequest ha un metodo expirePersistentConnections. Potrebbe fare ciò che stai cercando.

Non è un sostituto drop-in per NSURLConnection, ma non è troppo difficile per port il codice da NSURLConnection a ASIHTTPRequest.

+0

Buon consiglio. Grazie! – Krumelur

0

Penso che si potrebbe desiderare di guardare il seguente metodo definito per NSURLConnections. Ciò presuppone che hai effettuato la chiamata in modo asincrono. Se non è una chiamata asincrona, probabilmente dovrebbe esserlo.

cancel Annulla un carico asincrono di una richiesta.

  • (void) annullare

Discussione Una volta che questo metodo viene chiamato, delegato del ricevitore non sarà più ricevere i messaggi per questo NSURLConnection.

Spero che questo aiuti. Andrea.

+0

Grazie, ho provato a cancellare la connessione una volta terminata, ma non sembra funzionare in quel modo (tipo di logica, direi ...). Il problema è ovviamente che non voglio cancellare la richiesta, ma chiudere la connessione. Suppongo di non aver battuto in astuzia NSURLConnection ... – Krumelur