• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

UDP Listener mit CFSocket

007sascha

Alkmene
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:
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);
}
Kann mir jemand weiterhelfen?
Gruß Sascha