ios开发之发送UDP广播并接收数据
2013-02-20 20:24
465 查看
转自:http://blog.csdn.net/wudidalishi/article/details/8028301
用了asyncUdpSocket, 服务端在接收到广播后,就会做出回应,然后就可以开始通讯了。
- (void)init{
AsyncUdpSocket *socket=[[AsyncUdpSocketalloc]initWithDelegate:self];
[socketlocalPort:16747];
NSTimeInterval timeout=5000;
NSString *request=@"quick_stat";
NSData *data=[NSDatadataWithData:[request dataUsingEncoding:NSASCIIStringEncoding] ];
UInt16 port=8081;
NSError *error;
[socket enableBroadcast:YESerror:&error];
[socket sendData :data toHost:@"255.255.255.255" port:port withTimeout:timeout tag:1];
[socket receiveWithTimeout:-1tag:0];
NSLog(@"begin scan");
}
- (BOOL)onUdpSocket:(AsyncUdpSocket *)sock didReceiveData:(NSData *)data withTag:(long)tag fromHost:(NSString *)host port:(UInt16)port{
NSString* result;
result = [[NSStringalloc] initWithData:data encoding:NSASCIIStringEncoding];
NSLog(@"%@",result);
NSLog(@"received");
}
-(BOOL)onUdpSocket:(AsyncUdpSocket *)sock didNotReceiveDataWithTag:(long)tag dueToError:(NSError *)error{
NSLog(@"not received");
}
-(BOOL)onUdpSocket:(AsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError *)error{
NSLog(@"%@",error);
NSLog(@"not send");
}
-(BOOL)onUdpSocket:(AsyncUdpSocket *)sock didSendDataWithTag:(long)tag{
NSLog(@"send");
}
-(BOOL)onUdpSocketDidClose:(AsyncUdpSocket *)sock{
NSLog(@"closed");
}
用了asyncUdpSocket, 服务端在接收到广播后,就会做出回应,然后就可以开始通讯了。
- (void)init{
AsyncUdpSocket *socket=[[AsyncUdpSocketalloc]initWithDelegate:self];
[socketlocalPort:16747];
NSTimeInterval timeout=5000;
NSString *request=@"quick_stat";
NSData *data=[NSDatadataWithData:[request dataUsingEncoding:NSASCIIStringEncoding] ];
UInt16 port=8081;
NSError *error;
[socket enableBroadcast:YESerror:&error];
[socket sendData :data toHost:@"255.255.255.255" port:port withTimeout:timeout tag:1];
[socket receiveWithTimeout:-1tag:0];
NSLog(@"begin scan");
}
- (BOOL)onUdpSocket:(AsyncUdpSocket *)sock didReceiveData:(NSData *)data withTag:(long)tag fromHost:(NSString *)host port:(UInt16)port{
NSString* result;
result = [[NSStringalloc] initWithData:data encoding:NSASCIIStringEncoding];
NSLog(@"%@",result);
NSLog(@"received");
}
-(BOOL)onUdpSocket:(AsyncUdpSocket *)sock didNotReceiveDataWithTag:(long)tag dueToError:(NSError *)error{
NSLog(@"not received");
}
-(BOOL)onUdpSocket:(AsyncUdpSocket *)sock didNotSendDataWithTag:(long)tag dueToError:(NSError *)error{
NSLog(@"%@",error);
NSLog(@"not send");
}
-(BOOL)onUdpSocket:(AsyncUdpSocket *)sock didSendDataWithTag:(long)tag{
NSLog(@"send");
}
-(BOOL)onUdpSocketDidClose:(AsyncUdpSocket *)sock{
NSLog(@"closed");
}
相关文章推荐
- ios开发之发送UDP广播并接收数据
- ios开发之发送UDP广播并接收数据
- ios开发之发送UDP广播并接收数据
- iphone发送udp广播并接收数据
- udp接收广播并连接发送数据
- iphone发送udp广播并接收数据
- Udp广播的发送和接收(iOS + AsyncUdpSocket)下篇
- 发送UDP广播并接收数据
- ios开发UDP协议发送广播寻找设备
- ios开发UDP协议发送广播寻找设备
- iOS学习笔记4-GCDAsyncUdpSocket的使用(实现异步发送接收数据)
- Feescale K60开发笔记6: UDP发送数据方法
- 【iOS开发-网络】使用get请求发送和接受数据
- Android手机实现同一端口发送和接收UDP数据
- iOS开发 -- 发送JSON数据给服务器
- UDP客户端实现在不同端口上发送和接收数据
- 使用DatagramSocket发送、接收数据(Socket之UDP套接字)
- Linux系统下UDP发送和接收广播消息小例子
- iOS开发网络篇—发送json数据给服务器以及多值参数
- C#中UDP数据的发送、接收