/ / Która metoda jest wywoływana, gdy gniazdo jest odłączone - iphone, ios, nsstream

Która metoda jest wywoływana, gdy gniazdo jest odłączone - iphone, ios, nsstream

Czy ktokolwiek wie, która metoda jest wywoływana, gdy gniazdo jest automatycznie rozłączane w NSStreamDelegate? Ponieważ gdy gniazdo zostanie odłączone, to ponownie zadzwoni - (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent metoda, więc stworzy wiele problemów. Czy ktoś może mi powiedzieć, jak radzić sobie z odłączaniem gniazd?

Odpowiedzi:

0 dla odpowiedzi № 1

Metoda, która jest wywoływana, jest ponownie - (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent. Od Ciebie zależy, jakie zdarzenie miało miejsce, i zareagować we właściwy sposób.

Np. Rozważmy następujący przykład z dokumentacji Apple:

- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)streamEvent {
switch(streamEvent) {
case NSStreamEventHasBytesAvailable:;
// whatever...
break;
case NSStreamEventEndEncountered:;
[self processIncomingBytes];
if (stream == ostream) {
// When the output stream is closed, no more writing will succeed and
// will abandon the processing of any pending requests and further
// incoming bytes.
[self invalidate];
}
break;
case NSStreamEventErrorOccurred:;
NSLog(@"HTTPServer stream error: %@", [stream streamError]);
break;
default:
break;
}
}