//首先建立基于UDP的Socket连接 AsyncUdpSocket *updSocket
-(void)openUDPServer{
//初始化udp
AsyncUdpSocket *tempSocket=[[AsyncUdpSocket alloc] initWithDelegate:self];
self.updSocket=tempSocket;
[tempSocket release];
//绑定端口
NSError *error =nil;
[self.updSocket bindToPort:4333error:&error];
[self.updSocket joinMulticastGroup:@"224.0.0.1"error:&error];
//启动接收线程
[self.updSocket receiveWithTimeout:-1tag: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:4333withTimeout:-1tag: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 somethingreturnYES;
}
-(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");
}