J'envoyer des données sur Bonjour:NSData fusionné?
NSString *songString = [NSString stringWithFormat:@"sn:%@", [bHelp song]];
NSString *artistString = [NSString stringWithFormat:@"an:%@", [bHelp artist]];
NSData *imageData = [self PNGRepresentationOfImage:[bHelp getArtwork]];
NSData *songData = [songString dataUsingEncoding:NSUTF8StringEncoding];
NSData *artistData = [artistString dataUsingEncoding:NSUTF8StringEncoding];
[self.server sendData:songData error:nil];
[self.server sendData:artistData error:nil];
[self.server sendData:imageData error:nil];
ensuite reçu:
NSString *message = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
UIImage *image = [[UIImage alloc] initWithData:data];
if (message != nil) {
NSLog(message);
if ([message hasPrefix:@"sn:"]) {
_songName = [message stringByReplacingOccurrencesOfString:@"sn:" withString:@""];
} else if ([message hasPrefix:@"an:"]) {
_artistName = [message stringByReplacingOccurrencesOfString:@"an:" withString:@""];
}
return;
}
if (image != nil) {
self.albumImage = image;
return;
}
Mais songData
, artistData
et imageData
sont tous reçus comme l'un. Un exemple serait: sn:BURN IT DOWNan:Linkin Park
Si j'envoie imageData
d'abord, il ne reconnaît songData
et artistData
. Si j'envoie imageData
dernier, songData
et artistData
sont regroupés et imageData
n'est jamais reconnu.
Quelle est la raison pour laquelle il y a un appel de méthode avec toutes les données par rapport à plusieurs appels avec chaque paquet envoyé? @rmaddy – vqdave