Я получаю успешное соединение с сервером и я нахожусь в моей обратного вызова функции:Преобразование NSData в NSString
Я пытаюсь получить имя хоста и печати, что в моей консоли:
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);
}
Когда я запускаю приложение в режиме отладки, я могу увидеть значение IP-адреса, присвоенное имени, так что ему удастся получить имя, каждое значение - uint8_t .. Длина сверстника показывает мне 16; Моя проблема преобразования его в NSData затем NSString ...
выход: 2010-01-31 13: 57: 58,671 IP-адрес подключенного партнера: (нуль)
Моя строка выводится в NULL,
Любой совет ценится, спасибо ....
ли вы когда-нибудь найти что-то работал? –