使用CocoaAsyncSocket第三方库完成
GCDAsyncUdpSocket *udpSocket; // 定义一个socket的对象
udpSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)];
NSError *error = nil;
// 绑定端口
[udpSocket bindToPort:8888 error:&error];
// 启用广播
[udpSocket enableBroadcast:YES error:&error];
if (error) {
[SVProgressHUD showErrorWithStatus:@"启用失败"];
}else {
NSLog(@"%@", [udpSocket localHost]);
// 开始接收消息
[udpSocket beginReceiving:&error];
}
设置代理方法
#pragma mark - GCDAsyncUdpSocketDelegate
- (void)udpSocket:(GCDAsyncUdpSocket *)sock didReceiveData:(NSData *)data fromAddress:(NSData *)address withFilterContext:(nullable id)filterContex