我收到一个到服务器的连接成功,我在我的回调函数:转换的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输出,
任何建议表示赞赏,感谢....
你有没有发现一些工作? – 2010-05-11 21:11:56