MCPeerID *peerId = [[MCPeerID alloc] initWithDisplayName:@"server"]; self.mSession = [[MCSession 建立连接前同样需要创建MCPeerID和MCSession。 MCPeerID *peerId = [[MCPeerID alloc] initWithDisplayName:@"client"]; self.mSession = [[MCSession 连接成功建立之后,MCSession会回调MCSessionStateConnected。 - (void)session:(MCSession *)session peer:(MCPeerID *)peerID didChangeState:(MCSessionState)state {
1、初始化 MCPeerID 及 MCSession, MCPeerID 用来唯一的标识设备, MCSession 是通信的基础: -(void)setupPeerAndSessionWithDisplayName 5、接收消息: -(void)session:(MCSession *)session didReceiveData:(NSData *)data fromPeer:(MCPeerID *)peerID MCSession的回调方法很重要, 设备状态的改变、消息的接收、资源的接收、流的接收都是通过这个回调进行通知的。 6、发送资源。 7、接收资源: -(void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString *)resourceName 安全性分析 前文中也提到了,安全性的控制是在初始化 MCSession 时控制的, 默认是使用 MCEncryptionOptional。
buffer) > 0) { os.write(buffer); } iOS/macOS通用控制 利用MultipeerConnectivity框架实现跨设备输入共享: let session = MCSession
建立连接前同样需要创建MCPeerID和MCSession。 3、手机A接受连接 当手机B请求建立连接之后,手机A会弹出建立连接的请求,完成连接的建立过程。 连接成功建立之后,MCSession会回调MCSessionStateConnected。 4、手机A创建输出流 手机A作为server,主动建立输出流。