调用方法响应流事件

时间:2014-05-15 22:56:14

标签: ios objective-c stream

当我的应用程序连接到服务器时,我希望它自动向服务器发送消息。现在应用程序自己连接,当按下按钮时,将调用以下方法:

- (void)getChallenge {
    // Open connection and send challenge command
    NSString *h = [NSString stringWithFormat:@"H\n"];
    NSData *data = [[NSData alloc] initWithData:[h2dataUsingEncoding:NSASCIIStringEncoding]];
    [self.outputStream write:[data bytes] maxLength:[data length]];
    NSLog(@"%@", h);
}

当IBAction方法调用它时,该方法可以正常工作。但是当我在响应流事件时调用此方法时,它会触发写入行,并且永远不会创建NSLog条目。我一直在使用:

- (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent {

    switch (streamEvent) {

        case NSStreamEventOpenCompleted:
            [self stopConnectionTimer];
            [self getChallenge];
            break;

如何在响应流连接而不是依赖用户命令的情况下执行此方法?

0 个答案:

没有答案