NSUnknownErrorDomain 0 sur NSOutputStream/NSNetService
chkdsks
Membre
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
[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
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses