Je reçois une connexion au serveur et je suis dans ma fonction de rappel:Convertir NSData à NSString
Je suis en train d'obtenir le nom de l'hôte et l'impression que ma console:
if(theType == kCFSocketConnectCallBack){
NSLog(@"Connection is accepted");
CFSocketNativeHandle nativeSocket = CFSocketGetNative(theSocket);
uint8_t name[SOCK_MAXADDRLEN];
socklen_t namelen = sizeof(name);
NSData *peer = nil;
if (getpeername(nativeSocket, (struct sockaddr *)name, &namelen) == 0) {
peer = [NSData dataWithBytes:name length:namelen];
NSString *string = [[NSString alloc] initWithData:peer encoding:NSUTF8StringEncoding];
NSLog(@"IP adress of connected peer: %@", string);
}
Lorsque j'exécute l'application en mode débogage, je peux voir la valeur de l'adresse IP assignée au nom, donc elle réussit à obtenir le nom, chaque valeur est uint8_t .. La longueur de l'homologue est 16; Mon problème convertir en NSData puis NSString ...
sortie: 2010-01-31 13: 57: 58,671 adresse IP de pairs connectés: (null)
Ma chaîne est d'être sortie comme NULL,
Tout conseil est apprécié, merci ....
Avez-vous trouvé quelque chose qui fonctionne toujours? –