функция iphone от istream и ostream - PullRequest
0 голосов
/ 31 мая 2011

Может кто-нибудь сказать мне функцию istream и ostream в следующем коде и как я могу объявить istream и ostream, когда я выбрал код из net m, не имея большого знания о коде

NSString *urlStr = @"192.168.178.26";
if (![urlStr isEqualToString:@""]) {
    NSURL *website = [NSURL URLWithString:urlStr];
    if (!website) {
        NSLog(@"%@ is not a valid URL");
        return;
    }
    NSHost *host = [NSHost hostWithName:[website host]];
    [NSStream getStreamsToHost:host port:3258 inputStream:&iStream  outputStream:&oStream];
    [iStream retain];
    [oStream retain];
    [iStream setDelegate:self];
    [oStream setDelegate:self];
    [iStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
    [oStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
    [iStream open];
    [oStream open];
    /* ... */
}

1 Ответ

0 голосов
/ 31 мая 2011

Согласно справочной странице NSStream , iStream должен быть указателем NSInputStream*, а oStream должен быть NSOutputStream*.& означает, что вы передаете адреса iStream и oStream в метод -getStreamsToHost:....Вот как вы проходите по ссылке в C (или Objective-C).Затем этот метод попытается открыть соединение с указанным хостом, и в случае успеха создаст объекты потока для потоков данных на (iStream) и из (oStream) этого хоста и вернет их в этих переменных.

...