| 关键词: nbsp 设备 多点 Session advertiser 蓝牙 数据 MCSession MCPeerID 能力 |
参考资源WWDC-2013-Session-708BlackHat-US-2014-“It Just (Net)works”Understanding Multipeer Connectivity Framework in iOS 7 - Part 1 & 2MCDemo.zip: https://dl.dropboxusercontent.com/u/2857188/MCDemo.zip什么是多点连接?多点连接简单说就是将设备两两进行连接,从而组成一个网络,见下图:多点连接可以基于如下两种通道建立: 即:蓝牙与WiFi,且“只具有蓝牙的设备”可以与“只具有WiF的设备”通信,这一切都是透明的,开发者根本不需要关心:个人感觉它的能力还是比较强大的。既然能力这么强大,它可以用来做什么呢?MC只是提供了一种数据通道,具体用途还是要看业务、看大家的想象力,下面列几个比较常见的用途:传文件聊天室一台设备作为数据采集外设(比如:摄像头),将实时数据导到另一台设备上网络数据转发...多点连接 API 的使用SDK及版本信息MultipeerConnectivity.frameworkiOS 7.0OS X 10.10可以看到基于MC可以做到电脑与手机的通信。了解了其能力与SDK相关信息后,下面我们看看工作流程:使设备可被发现--->浏览设备,建立连接--->传输数据 。关于使用大家可以看看参考资源与 MCDemo,这里只是做一个代码导读。1、初始化 MCPeerID 及 MCSession,MCPeerID 用来唯一的标识设备,MCSession 是通信的基础:[objc] view plaincopy-(void)setupPeerAndSessionWithDisplayName:(NSString *)displayName{ _peerID = [[MCPeerID alloc] initWithDisplayName:displayName]; _session = [[MCSession alloc] initWithPeer:_peerID]; _session.delegate = self; } 2、广播设备,使设备可以被发现:[objc] view plaincopy-(void)advertiseSelf:(BOOL)shouldAdvertise{ if (shouldAdvertise) { _advertiser = [[MCAdvertiserAssistant alloc] initWithServiceType:@"chat-files" discoveryInfo:nil session:_session]; [_advertiser start]; } else{ [_advertiser stop]; _advertiser = nil; } } 3、浏览“局域网”中的设备,并建立连接: |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|