hallo leute,
ich bin das erstemal auf ein ppc / intel problem gestoßen.
dieser code gibt mir die ip adresse eines nsnetservice zurück:
Alles anzeigen
interessant sind zeile 17 und 20. je nach platform muss die ip anders zusammen gebaut werden.
wie kann ich jetzt herausfinden auf welcher plattform mein programm läuft?
sascha
ich bin das erstemal auf ein ppc / intel problem gestoßen.
dieser code gibt mir die ip adresse eines nsnetservice zurück:
Quellcode
- - (NSString*) address: (NSNetService*) service
- {
- int firstOctet, secondOctet, thirdOctet, fourthOctet;
- NSData *address = nil;
- struct sockaddr_in *socketAddress;
- NSString *ipAddressString = nil;
- NSLog(@"addresses: %@",[service addresses]);
- address = [[service addresses] objectAtIndex:0];
- socketAddress = (struct sockaddr_in *)[address bytes];
- firstOctet = (socketAddress->sin_addr.s_addr & 0xFF000000) >> 24;
- secondOctet = (socketAddress->sin_addr.s_addr & 0x00FF0000) >> 16;
- thirdOctet = (socketAddress->sin_addr.s_addr & 0x0000FF00) >> 8;
- fourthOctet = (socketAddress->sin_addr.s_addr & 0x000000FF) >> 0;
- // PPC code
- ipAddressString = [NSString stringWithFormat:@"%d.%d.%d.%d", firstOctet, secondOctet, thirdOctet, fourthOctet];
- // Intel Code
- ipAddressString = [NSString stringWithFormat:@"%d.%d.%d.%d", fourthOctet, thirdOctet, secondOctet, firstOctet];
- NSLog(@"hostName: %@",ipAddressString);
- return ipAddressString;
- }
interessant sind zeile 17 und 20. je nach platform muss die ip anders zusammen gebaut werden.
wie kann ich jetzt herausfinden auf welcher plattform mein programm läuft?
sascha
- Die Tricky verrate ich ganz unten um es spannend zu machen 


