Я получаю успешное соединение с сервером и выполняю функцию обратного вызова:
Я пытаюсь получить имя хоста и распечатать его на моей консоли:
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,
Любой совет приветствуется, спасибо ....