我会从iPhone发送UDP广播,然后从所有打开了该端口的设备上监听具有超时时间的UDP响应。来自同一子网的自定义设备会回答吗? (如果我的是192.168.1.100,而自定义设备的IP是192.168.1.201)
如何使用“SmallSockets”或“cocoaAsyncSocket”?
使用什么函数来监听响应?
谢谢!
最佳答案
我决定使用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");
}
}
关于ios - 将UDP请求发送到255.255.255.255并在iOS中等待回复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9716834/