gpt4 book ai didi

ios - iOS 7:通过wi-fi或对等wi-fi使用Multipeer Connectivity连接设备

转载 作者:行者123 更新时间:2023-12-01 17:19:17 29 4
gpt4 key购买 nike

我正在尝试通过iOS 7中的Multipeer连接框架连接2个iOS 7设备。
我可以使用蓝牙连接它们。在代码中,我没有提到任何类似蓝牙的内容。

Multipeer Documentation

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

.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];
}

任何帮助表示赞赏。

最佳答案

MultipeerConnectivity提供远离基础设施Wi-Fi,P2P和蓝牙的抽象。这意味着您的设备将能够相互通信,但是它们有能力。

如果您可以通过蓝牙连接两个设备,那么它们也可以通过基础设施wifi进行连接,前提是它们位于同一LAN中且不受限制(因此,如果您在一家大公司中,由于IT的原因,可能会遇到一些问题)。

MPC允许您与通过完全不同的传输方式连接的多个设备进行通信。因此,如果A,B和C都是可以使用您指定的UUID进行发现和连接的设备,则A仅启用了蓝牙,B仅启用了蓝牙和wifi,而C仅启用了wifi,那么A将能够自动接收来自B的消息,因为B负责完成振铃。

所有这些功能已经由MultipeerConnectivity提供。

有关如何正确发现,连接并与对等方进行交流的演练,请查看wwdc视频“具有多对等连接的邻近网络” here

关于ios - iOS 7:通过wi-fi或对等wi-fi使用Multipeer Connectivity连接设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21382319/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com