MCSession

1 MCSession

  1. Creating a Session
  2. Managing Peers Manually
  3. Sending Data and Resources
  4. Leaving a Session

2 MCSessionDelegate

  1. MCSession Delegate Methods

1 MCSession

MCSession用于保存MultipeerConnectivity框架通信过程中的会话,并发送相关数据。

1.1 Creating a Session

/// 通过当前设备的MCPeerID初始化MCSession
public convenience init(peer myPeerID: MCPeerID)

/// 初始化MCSession,并提供安全证书
public init(peer myPeerID: MCPeerID, securityIdentity identity: [AnyObject]?, encryptionPreference: MCEncryptionPreference)

/// MCSessionDelegate代理
weak public var delegate: MCSessionDelegate?
/// 当前MCPeerID
public var myPeerID: MCPeerID { get }
/// 安全证书
public var securityIdentity: [AnyObject]? { get }
/// 连接是否加密
public var encryptionPreference: MCEncryptionPreference { get }

1.2 Managing Peers Manually

/// 手动连接某台设备
public func connectPeer(peerID: MCPeerID, withNearbyConnectionData data: NSData)

/// 取消和某个设备的连接
public func cancelConnectPeer(peerID: MCPeerID)

/// 其他连接的MCPeerID
public var connectedPeers: [MCPeerID] { get }

/// 从远程的MCPeerID获取数据
public func nearbyConnectionDataForPeer(peerID: MCPeerID, withCompletionHandler completionHandler: (NSData, NSError?) -> Void)

1.3 Sending Data and Resources

/// 发送NSData数据到其他设备
public func sendData(data: NSData, toPeers peerIDs: [MCPeerID], withMode mode: MCSessionSendDataMode) throws

/// 发送文件数据到其他设备
public func sendResourceAtURL(resourceURL: NSURL, withName resourceName: String, toPeer peerID: MCPeerID, withCompletionHandler completionHandler: ((NSError?) -> Void)?) -> NSProgress?

/// 以流的方式发送数据
public func startStreamWithName(streamName: String, toPeer peerID: MCPeerID) throws -> NSOutputStream

1.4 Leaving a Session

/// 从会话中断开连接
public func disconnect()

2 MCSessionDelegate

MCSessionDelegate用于监听处理MCSession的相关事件。

2.1 MCSession Delegate Methods

// 附近设备的会话状态发生变化
@available(iOS 7.0, *)
public func session(session: MCSession, peer peerID: MCPeerID, didChangeState state: MCSessionState)

// 首次连接时的安全证书验证
@available(iOS 7.0, *)
optional public func session(session: MCSession, didReceiveCertificate certificate: [AnyObject]?, fromPeer peerID: MCPeerID, certificateHandler: (Bool) -> Void)

// 从附近的设备接受NSData数据
@available(iOS 7.0, *)
public func session(session: MCSession, didReceiveData data: NSData, fromPeer peerID: MCPeerID)

// 从附近的设备开始接受NSProgress数据
@available(iOS 7.0, *)
public func session(session: MCSession, didStartReceivingResourceWithName resourceName: String, fromPeer peerID: MCPeerID, withProgress progress: NSProgress)

// 从附近的设备结束接受NSProgress数据,并存储在一个本地地址
@available(iOS 7.0, *)
public func session(session: MCSession, didFinishReceivingResourceWithName resourceName: String, fromPeer peerID: MCPeerID, atURL localURL: NSURL, withError error: NSError?)

// 从附近的设备接受NSInputStream数据
@available(iOS 7.0, *)
public func session(session: MCSession, didReceiveStream stream: NSInputStream, withName streamName: String, fromPeer peerID: MCPeerID)

 


Appendix

Sample Code

Swift

Multipeer Connectivity Framework Reference

MCSession Class Reference

MCSessionDelegate Protocol Reference

Revision History

时间描述
2016-01-22博文完成

CSDN:http://blog.csdn.net/y550918116j

GitHub:https://github.com/937447974/Blog

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值