Zunächst einmal, ich glaube nicht, dass diese Frage bereits vorhanden ist, aber ich stimme gibt es ähnliche Beiträge, bitte lesen Sie weiter.Abort NSURLConnection während seiner „Verbinden“ Zustand
Meine Frage ist: Wie kann ein NSURLConnection in seinem Abbruch „verbindet“ Zustand? Ich meine, nachdem die Verbindung hergestellt wurde, können wir die Methode NSUrlConnection cancel
verwenden, um Anfragen abzubrechen. Aber wie wird es im "Verbindungs" -Zustand abbrechen, bevor es die Zeitüberschreitung erreicht, wenn der Server keine Antwort liefert (bevor irgendwelche Delegiertenanrufe empfangen werden)?
Danke für Ihre Zeit!
EDIT
I NSURLSessionTask
statt NSUrlConnection
verwenden soll, die (mit seiner Methode cancel
) zu tun?
EDIT 2 - Codebeispiel
NSURLConnection* m_connection;
m_connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:NO];
if(m_connection){
[m_connection start];
m_timer = [NSTimer scheduledTimerWithTimeInterval: FLT_MAX
target: self selector: @selector(doNothing:)
userInfo: nil repeats:YES];
m_runLoop = [NSRunLoop currentRunLoop];
[m_runLoop addTimer:m_timer forMode:NSDefaultRunLoopMode];
while (m_bRunLoop && [m_runLoop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]);
[m_connection cancel];
}
ich meine Verbindungsdaten streamen. Wie Sie sehen können, denn jetzt abbrechen ich meine Verbindung m_bRunLoop
-false
Einstellung und es ist in Ordnung. Aber meine Frage ist: Wie kann ich meine Verbindung abbrechen, bevor der Server eine Antwort sendet, ohne auf den gesamten Timeout zu warten?
können Sie nach dem Code, wo Sie die 'NSURLConnection' Instanzen erstellen und wo Sie sie abbrechen möchten, ist, dass in der gleichen Klasse oder verschiedenen Klassen gemacht? –
Ich habe meine Post bearbeitet, andere Klasse oder das gleiche ist egal, ich kann damit umgehen. – N0un