iOS高级进阶iOS DeveloperiOS 知识点

iOS 飞屏功能的实现(UDPSocket协议广播机制)

2017-05-17  本文已影响46人  南城同學

飞屏,用手机播放电脑端视频的功能,一般常见于主打VR资源的影音类App。

大体思路:基于UDP协议的广播机制

电脑端不断发送udp广播,广播内容可精简为:端口号;
App用udpSocket扫描,得到对应端口号信息,解析出IP地址,拼接数据,请求数据。

移动端的实现:
1.导入第三方库:CocoaAsyncSocket,引用文件

#import <GCDAsyncUdpSocket.h>

2.遵守协议:
<GCDAsyncUdpSocketDelegate>```

######3.初始化对象,启动监听:


_clientSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()];   
NSError * error = nil;
[_clientSocket setIPv6Enabled:NO]; //�每次扫描,你会收到两条信息,IPv4和IPv6的,根据需求做取舍。
[_clientSocket bindToPort:8080error:&error];// 8080,与电脑端统一的端口号
 if (error) {
    PVRLog(@"clientSocket_error:%@",error);
 } else {
    [_clientSocket beginReceiving:&error];
    PVRLog(@"监听成功开始接收信息");
 }

#####4.代理回调

pragma mark - GCDAsyncUdpSocket delegate

}

####关于如何使用封装好的工具类,请参考代码
#####GitHub:https://github.com/YZQ-Nine/FlyScreenDemo
上一篇 下一篇

猜你喜欢

热点阅读