vb.net bonjour 不设置 txtrecord 值

发布于 2024-11-15 19:05:15 字数 609 浏览 1 评论 0原文

她是我尝试运行的代码:

Private NSRegistrar As New Bonjour.DNSSDService

Dim txtRecord As New Bonjour.TXTRecord
txtRecord.SetValue("publicKey", "ydy56dy65dy665yv65dvy65")
txtRecord.SetValue("privateKey", "ydy56dy65dy6fvaeva465yv65dvy65")

Console.WriteLine(txtRecord.GetValueForKey("publicKey"))

NSRegistrar = NSRegistrar.Register(0, 0, Environment.MachineName, "_secure._tcp", vbNullString, vbNullString, NSPort, txtRecord, NSEventManager)

一切正常,但是当我在另一台计算机上解析服务时,TXTRecord 根本不包含任何值。即使 Console.WriteLine 也不返回任何值。

有没有人成功地让 TXTRecords 在 vb.net 中与 bonjour 一起工作,或者有任何源代码可以分享?

Her is the code I am trying to run:

Private NSRegistrar As New Bonjour.DNSSDService

Dim txtRecord As New Bonjour.TXTRecord
txtRecord.SetValue("publicKey", "ydy56dy65dy665yv65dvy65")
txtRecord.SetValue("privateKey", "ydy56dy65dy6fvaeva465yv65dvy65")

Console.WriteLine(txtRecord.GetValueForKey("publicKey"))

NSRegistrar = NSRegistrar.Register(0, 0, Environment.MachineName, "_secure._tcp", vbNullString, vbNullString, NSPort, txtRecord, NSEventManager)

Everything works fine, but when I resolve the service on another machine, the TXTRecord contains no values at all. Even the Console.WriteLine returns no value.

Has anyone managed to get TXTRecords successfully working with bonjour in vb.net or have any source code they could share?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

り繁华旳梦境 2024-11-22 19:05:15

您必须将值作为 UTF-8 编码的字节数组传递:

txtRecord.SetValue("key", Encoding.UTF8.GetBytes("value"));

我也遇到了同样的问题,并在 SDK 的 源代码

You have to pass the value as UTF-8 encoded byte array:

txtRecord.SetValue("key", Encoding.UTF8.GetBytes("value"));

I had the same problem too and found the solution in the SDK's source code.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文