//首先建立基於UDP的Socket連接 AsyncUdpSocket *updSocket -(void)openUDPServer{ //初始化udp AsyncUdpSocket *tempSocket=[[AsyncUdpSocket alloc] initWithDelegate:self]; self.updSocket=tempSocket; [tempSocket release]; //綁定端口 NSError *error = nil; [self.updSocket bindToPort:4333 error:&error]; [self.updSocket joinMulticastGroup:@"224.0.0.1" error:&error]; //啟動接收線程 [self.updSocket receiveWithTimeout:-1 tag:0]; } //連接建好后處理相應send Events -(void)sendMessage:(NSString*)message { NSMutableString *sendString = [NSMutableString stringWithCapacity:100]; [sendString appendString:message]; //開始發送 BOOL res = [self.updSocket sendData:[sendString dataUsingEncoding:NSUTF8StringEncoding] toHost:@"224.0.0.1" port:4333 withTimeout:-1 tag:0]; NSLog(@"%@",sendString); if(res) { NSLog(@"xxxxffff"); } else { NSLog(@"error"); } } -(BOOL)onUdpSocket:(AsyncUdpSocket *)sock didReceiveData:(NSData *)data withTag:(long)tag fromHost:(NSString *)host port:(UInt16)port { NSLog(@"onUdpSocket successful"); //已經處理完畢 do something return YES; } -(void)onUdpSocket:(AsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError *)error { //無法發送時,返回的異常提示信息 do something NSLog(@"error1"); } -(void)onUdpSocket:(AsyncUdpSocket *)sock didNotReceiveDataWithTag:(long)tag dueToError:(NSError *)error { //無法接收時,返回異常提示信息 do something NSLog(@"error2"); }