Sam*_*ain 1 wifi ios ios7 xcode5 multipeer-connectivity
我试图通过iOS 7中的Multipeer连接框架连接2个iOS 7设备.我可以使用蓝牙连接它们.在代码中我没有提到像蓝牙这样的东西.
Multipeer Connectivity框架支持使用基础设施Wi-Fi网络,点对点Wi-Fi和蓝牙个人局域网发现附近iOS设备提供的服务,并随后通过发送基于消息的数据,流数据与这些服务进行通信和资源(如文件).
如果,我关闭其中一个设备的蓝牙,它停止工作.
因为,蓝牙范围很慢我需要大面积覆盖.那么,请告诉我如何通过Wi-Fi或点对点Wi-Fi连接两台设备?
代码:.h文件
@interface SessionManager : NSObject <MCSessionDelegate, MCAdvertiserAssistantDelegate, MCBrowserViewControllerDelegate>
// current peer
@property (nonatomic, readonly) MCPeerID *myPeer ;
// current session
@property (nonatomic, readonly) MCSession *session;
// current advertise
@property (nonatomic, readonly) MCAdvertiserAssistant *advertiser ;
// current browser
@property (nonatomic, readonly) MCBrowserViewController *browser ;
//To start advertising current device
- (void)start;
//To stop advertising current device
- (void)stop;
@end
Run Code Online (Sandbox Code Playgroud)
.m文件:
- (id)init
{
self = [super init];
if (self)
{
_myPeer = [[MCPeerID alloc] initWithDisplayName:[[UIDevice currentDevice] name]];
_session = [[MCSession alloc] initWithPeer:_myPeer securityIdentity:nil encryptionPreference:MCEncryptionNone];
_session.delegate = self;
_advertiser = [[MCAdvertiserAssistant alloc] initWithServiceType:@"Connect" discoveryInfo:nil session:_session];
_advertiser.delegate = self;
_browser = [[MCBrowserViewController alloc] initWithServiceType:@"Connect" session:_session];
_browser.delegate = self;
}
return self;
}
- (void)start
{
[_advertiser start];
}
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.
MultipeerConnectivity提供远离基础设施Wi-Fi,P2P和蓝牙的抽象.这意味着您的设备将能够相互通信.
如果你可以通过蓝牙连接两个设备,那么它们也可以通过基础设施wifi连接,假设它们在同一个局域网上没有任何限制(所以如果你在一家大公司,你可能因为IT而遇到一些问题).
MPC允许您与通过完全不同的传输连接的多个设备进行通信.因此,如果A,B和C是可以使用指定的UUID被发现和连接的所有设备,A不仅具有蓝牙,B具有蓝牙和WiFi,和C只,那么A将自动能够接收无线来自C的消息,因为B负责完成戒指.
所有这些功能都已由MultipeerConnectivity提供.
有关如何正确地发现,连接,并与同行交流检查出WWDC视频演练"与附近的Multipeer连接网络" 在这里
| 归档时间: |
|
| 查看次数: |
5441 次 |
| 最近记录: |