她是我试图运行的代码:
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合作,或者有他们可以分享的任何源代码?
答案 0 :(得分:0)
您必须将值传递为UTF-8编码的字节数组:
txtRecord.SetValue("key", Encoding.UTF8.GetBytes("value"));
我也遇到了同样的问题,并在SDK source code中找到了解决方案。