首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Swift中为Bonjour NetService创建TXT记录

在Swift中为Bonjour NetService创建TXT记录
EN

Stack Overflow用户
提问于 2018-04-02 11:58:04
回答 1查看 1.1K关注 0票数 1

我正在创建一个应用程序,在Swift 3中使用苹果的Bonjour进行对等聊天。

发布NetService之后,我想添加一个user_id和名称参数作为TXT记录。我花了3-4个小时搜索如何在Swift 3中创建TXT记录,但没有找到任何有用的解决方案。一旦我为一个NetService设置了TXT记录,我也想读它。

要设置TXT记录数据,我们必须使用func setTXTRecord(数据?)

请建议我如何设置和获取NetService的TXT记录。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-02 12:46:41

尝尝这个。这些是NetServiceDelegate调用。

代码语言:javascript
复制
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上的项目中看到这一点。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49610867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档