Вызов jQuery Ajax-запроса каждые X минут

Как я могу вызвать запрос Ajax в определенный период времени? Я следовал руководству «Настройка потоков сокетов» и эффективно продублировал этот код в своем классе. Независимо от того, что я пробую, методы делегата просто не вызываются. В файле заголовка я ...

Я следовал руководству Настройка потоков сокетов и эффективно продублировал этот код в своем классе. Независимо от того, что я пробую, методы делегата просто не вызываются.

В заголовочном файле у меня есть (в основном):

@interface myClass : NSObject  {
    NSInputStream *inputStream;
    NSOutputStream *outputStream;
}
- (void)connect;
@end;

Метод подключения:

- (void)connect {
    CFReadStreamRef readStream;
    CFWriteStreamRef writeStream;

    CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, (CFStringRef)@"host.example.com", 1234, &readStream, &writeStream);

    inputStream = (NSInputStream *)readStream;
    outputStream = (NSOutputStream *)writeStream;
    [inputStream setDelegate:self];
    [outputStream setDelegate:self];
    [inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
    [outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
    [inputStream open];
    [outputStream open];
}

Также пробовал использовать CFStreamCreatePairWithSocketToCFHost () и [NSStream getStreamsToHost: port: inputStream: outputStream: - все с точно таким же результатом.

Я установил точку останова в начале метода connect , проходит через каждую строку, и каждый указатель действителен и, кажется, указывает на правильный объект.

В GDB после вызовов setDelegate , po [делегат inputStream] печатает , как и ожидалось, поэтому он правильно установил делегат.

На всю жизнь я не могу понять, почему он отказывается вызывать метод stream: handleEvent: в моем классе:

- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode {
    NSLog(@"got an event");
}

Надеюсь, я пропустил что-то действительно простое и очевидное, и вторая пара глаз заметит мою ошибку.

Заранее спасибо всем, у кого хватило терпения и нашло время прочитать это!

12
задан arrtchiu 8 February 2011 в 08:31
поделиться