2012-03-15 64 views
1

我会从iPhone发送UDP广播,然后从打开了此端口的所有设备侦听超时时间段的UDP响应。我的来自同一子网的自定义设备是否会回答? (如果我的是192.168.1.100并且自定义设备的IP是192.168.1.201) 如何使用“SmallSockets”或“cocoaAsyncSocket”? 使用什么函数来侦听响应? Thanx!将UDP请求发送到255.255.255.255并等待iOS中的回复

回答

3

我决定使用cocoaAsyncSocket。 广播,你可以使用:

[udpSocket sendData:datatosend toHost:@"192.168.1.113" port:port withTimeout:-1 tag:0]; 

接收:

- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data fromAddress:(NSData *)address withFilterContext:(id)filterContext 
{ 
    NSString *msg = [[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding] autorelease]; 

    NSString *host = nil; 
    uint16_t port = 0; 
    [GCDAsyncUdpSocket getHost:&host port:&port fromAddress:address]; 

    if (msg) 
    { 
     NSLog(@"Message = %@, Adress = %@ %i",msg,host,port); 
    } 
    else 
    { 
     NSLog(@"Error converting received data into UTF-8 String"); 
    } 
} 
相关问题