2010-08-29 12 views
6

Ich habe einen kleinen Fehler in meiner Client-Anwendung, die NSURLConnection verwendet. Ich habe es auf eine unerwartete Verbindung Keep-Alive aufgespürt, die den Webserver zu verwechseln scheint (wahrscheinlich ein Fehler auf der Serverseite). Die Problemumgehung besteht darin, alle ausstehenden Verbindungen an einem bestimmten Punkt zwangsweise zu schließen. Kann ich mit NSURLConnection irgendwie tun dies, das heißt so etwas wieNSURLConnection und keep-alive

[NSURLConnection closeAllIdleConnections];

+0

Ich habe das gleiche Problem, aber mit einem UIWebView. Die ASIHTTPRequest-Antwort hilft in diesem Fall nicht sehr. – titaniumdecoy

Antwort

1

ASIHTTPRequest hat eine expirePersistentConnections Methode. Es kann tun, wonach Sie suchen.

Es ist nicht ein Drop-in-Ersatz für NSURLConnection, aber es ist nicht allzu schwer zu Port-Code von NSURLConnection zu ASIHTTPRequest.

+0

Guter Tipp. Vielen Dank! – Krumelur

0

Ich glaube, Sie könnten bei der folgenden Methode für NSURLConnections definiert suchen. Dies setzt voraus, dass Sie den Aufruf asynchron ausgeführt haben. Wenn es kein asynchroner Anruf ist, sollte es wahrscheinlich sein.

Abbrechen Bricht eine asynchrone Last von eine Anforderung ab.

  • (void) Abbrechen

Diskussion Nachdem diese Methode aufgerufen wird, des Delegierten des Empfängers nicht mehr erhalten keine Nachrichten für diese NSURLConnection.

Hoffe das hilft. Andrew.

+0

Danke, ich habe versucht, die Verbindung abzubrechen, sobald sie beendet ist, aber es scheint nicht so zu funktionieren (irgendwie logisch, würde ich schätzen ...). Das Problem ist natürlich, dass ich die Anfrage nicht abbrechen möchte, sondern die Verbindung schließe. Ich schätze, ich versäumte NSURLConnection zu überlisten ... – Krumelur