vb.net bonjour没有设置txtrecord值

时间:2011-06-16 16:20:19

标签: .net vb.net bonjour

她是我试图运行的代码:

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合作,或者有他们可以分享的任何源代码?

1 个答案:

答案 0 :(得分:0)

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

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

我也遇到了同样的问题,并在SDK source code中找到了解决方案。