NSUnknownErrorDomain 0 sur NSOutputStream/NSNetService

chkdskschkdsks Membre
14:59 modifié dans API AppKit #1
J'utilise Bonjour pour découvrir les NSNetService sur mon réseau, pour communiquer entre client-serveur sur deux machines différentes. J'ouvre mon flux d'écriture comme cela :
[tt]
[[services objectAtIndex:rowService] getInputStream:nil outputStream:&outputStream];

[outputStream retain];
[outputStream setDelegate:self];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream setProperty:NSStreamSocketSecurityLevelNone forKey:NSStreamSocketSecurityLevelKey];
[outputStream open];
[/tt]
Ensuite, je redéfini les méthodes :
[tt]
- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
{
    if (aStream == inputStream) {
        [self handleInputStreamEvent:eventCode];
    } else if (aStream == outputStream) {
        [self handleOutputStreamEvent:eventCode];
    }
}

- (void)handleOutputStreamEvent:(NSStreamEvent)eventCode
{
    switch (eventCode) {
        case NSStreamEventHasSpaceAvailable:
{
          NSLog(@Write !);
         
          NSString *output = @Bonjour Network !\r\n;
          NSData *data = [output dataUsingEncoding:NSUTF8StringEncoding];
         
          int len = [data length];
          void *byteData = (void *)[data bytes];
         
          [outputStream write:byteData maxLength:len];
          NSLog([NSString stringWithFormat:@Erreur (%d) : %@", [outputStream streamStatus], outputStream streamError] localizedDescription);
}
            break;
        case NSStreamEventOpenCompleted:
            break;
        default:
        case NSStreamEventErrorOccurred:
            NSLog(@An error occurred on the output stream.);
            break;
    }
}
[/tt]
Et là  j'obtiens un beau [tt]Erreur (2) : L'opération n'a pas pu s'achever. (NSUnknownErrorDomain erreur 0)[/tt]
Je ne vois pas ce d'où cela peut venir, j'ai essayé avec NSStream et un NSHost à  partir d'un nom où d'une adresse IP, cela fait la même chose, si quelqu'un peut m'aider, cela serait sympathique :)

Réponses

  • chkdskschkdsks Membre
    14:59 modifié #2
    Bon finalement j'ai fait autrement, j'ai utilisé les deux exemples fournis avec Xcode, PictureSharing et PictureSharingBrowser et cela marche impec ! :P
Connectez-vous ou Inscrivez-vous pour répondre.