我正在创建一个应用程序,在Swift 3中使用苹果的Bonjour进行对等聊天。
发布NetService之后,我想添加一个user_id和名称参数作为TXT记录。我花了3-4个小时搜索如何在Swift 3中创建TXT记录,但没有找到任何有用的解决方案。一旦我为一个NetService设置了TXT记录,我也想读它。
要设置TXT记录数据,我们必须使用func setTXTRecord(数据?)
请建议我如何设置和获取NetService的TXT记录。
发布于 2018-04-02 12:46:41
尝尝这个。这些是NetServiceDelegate调用。
public func netServiceDidPublish(_ service: NetService) {
let txtDict = ["peerID": _localNode.peerID.data(using: String.Encoding.utf8)!]
let txtData = NetService.data(fromTXTRecord: txtDict)
if !service.setTXTRecord(txtData) {
print("did not set txtRecord")
}
}
public func netService(_ service: NetService, didUpdateTXTRecord data: Data) {
let txtDict = NetService.dictionary(fromTXTRecord: data)
if let idObject = txtDict["peerID"], let peerID = NSString(data: idObject, encoding: String.Encoding.utf8.rawValue) as String? {
// use peerID
}
}如果您愿意,您可以从我在GitHub:https://github.com/AaronBratcher/ALBPeerConnection上的项目中看到这一点。
https://stackoverflow.com/questions/49610867
复制相似问题