- Registriert
- 08.09.08
- Beiträge
- 35
Hallo,
ich bin relativ neu beim Objective-C Programmieren und habe daher noch etliche Fragen.
Ich würde gerne ein Programm schreiben das auf einem Port Daten per UDP empfängt und erstmal nur direkt wieder per NSLog wieder ausgibt. Ich scheitere aber bereit beim Datenempfang per CFSocket. Die Refs und bisher gefundenen Beispiele sind mir nicht sehr verständlich bzw. schon wieder zu komplex.
Wie genau funktioniert das mit den CallBack´s?
Was ich bisher schon grob habe:
Kann mir jemand weiterhelfen?
Gruß Sascha
ich bin relativ neu beim Objective-C Programmieren und habe daher noch etliche Fragen.
Ich würde gerne ein Programm schreiben das auf einem Port Daten per UDP empfängt und erstmal nur direkt wieder per NSLog wieder ausgibt. Ich scheitere aber bereit beim Datenempfang per CFSocket. Die Refs und bisher gefundenen Beispiele sind mir nicht sehr verständlich bzw. schon wieder zu komplex.
Wie genau funktioniert das mit den CallBack´s?
Was ich bisher schon grob habe:
Code:
-(void)startConnect{
CFSocketRef cfSocket=CFSocketCreate(kCFAllocatorDefault, PF_INET, SOCK_DGRAM, IPPROTO_UDP, kCFSocketDataCallBack, ??????, NULL);
if (cfSocket==NULL)
NSLog(@"CFSocketCreate failed");
struct sockaddr_in addr;
memset(&addr,0, sizeof(addr));
addr.sin_len=sizeof(addr);
addr.sin_family=AF_INET;
addr.sin_port=htons(40005);
addr.sin_addr.s_addr=htonl(INADDR_ANY);
NSData *address=[NSData dataWithBytes:&addr length:sizeof(addr)];
if(kCFSocketSuccess != CFSocketSetAddress(cfSocket, (CFDataRef)address))
NSLog(@"CFSocketSetAddress failed");
CFRunLoopSourceRef rls = CFSocketCreateRunLoopSource(kCFAllocatorDefault, cfSocket, 0);
CFRunLoopAddSource(CFRunLoopGetCurrent(), rls, kCFRunLoopCommonModes);
CFRelease(rls);
}
Gruß Sascha