Avertissement: Je suis un Noob Xcode/iPhone SDK. Je tente d'établir une connexion TCP/IP côté client à un serveur existant. Lors de la connexion, je m'attends à recevoir des données sur le serveur (version, etc.).iPhone SDK - NSStreamEventHasBytesAvailable/appendBytes: crash
Lorsque ma connexion est établie, l'événement NSStreamEventOpenCompleted
se déclenche, donc je sais que la connexion est établie. Ensuite, les événements NSStreamEventHasBytesAvailable
se déclenchent et j'exécute le code suivant. La valeur 71 (int) est stockée en len, ce que je crois est correct. Cependant, la ligne
[data appendBytes:&buffer length:len];
se bloque (je pense). Il n'y a pas d'erreur réelle jeté mais je ne vois __TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION__
même si j'ai erreur clairement ajouté attrapant:
case NSStreamEventHasBytesAvailable:
{
NSMutableData *data=[[NSMutableData alloc] init];
uint8_t *buffer[1024];
unsigned int len=0;
len=[(NSInputStream *)stream read:buffer maxLength:1024];
if(len>0){
@try{
[data appendBytes:&buffer length:len];
}
@catch(NSException *ex){
NSLog(@"Fail: %@", ex);
}
[statusLabel setText:[data stringValue]];
//[bytesRead setIntValue:[bytesRead intValue]+len];
}else{
NSLog(@"No Buffer");
}
break ;
}
+1 belle question spécifique, avec un échantillon de code ... il est facile et amusant pour les gens d'aider –