作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望能够使用
appDelegate.mpcHandler.session.sendData
但是在接收端没有办法获得相同的变量,例如据我所知接收任何数据你必须写这样的东西
func session(session: MCSession!, didReceiveData data: NSData!, fromPeer peerID: MCPeerID!) {
NSLog("%@", "didReceiveData: \(data.length) bytes")
let str = NSString(data: data, encoding: NSUTF8StringEncoding) as! String
}
有没有其他人知道在多点连接中发送和接收多组数据的任何方式,因为我希望能够不断地播放一首歌曲的持续时间,但在一首歌曲的开头我需要发送歌曲名称。
最佳答案
您可以通过将字典转换为 NSData 来发送字典,如下所示:
let data = NSKeyedArchiver.archivedDataWithRootObject(dictionary)
在接收方,它看起来像这样:
override func session(session: MCSession, didReceiveData data: NSData, fromPeer peerID: MCPeerID) {
let dictionary = NSKeyedUnarchiver.unarchiveObjectWithData(data) as! Dictionary<String, AnyObject>
NSLog("Peer \(peerID) has sent message \(dictionary)")
.....
}
这将允许您发送初始数据。然后你会使用
- startStreamWithName:toPeer:error:
开始发送流。这将创建一个连接的字节流 (NSOutputStream),您可以使用它来将数据发送到指定的对等点。
关于ios - 如何通过多点连接发送多组数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32031439/
我是一名优秀的程序员,十分优秀!