vb.net bonjour не устанавливает значения txtrecord - PullRequest
2 голосов
/ 16 июня 2011

Это код, который я пытаюсь запустить:

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 успешно работать с bonjour в vb.net или иметь какой-либо исходный код, которым они могли бы поделиться?

1 Ответ

0 голосов
/ 02 апреля 2013

Вы должны передать значение в виде байтового массива в кодировке UTF-8:

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

У меня тоже была такая же проблема, и я нашел решение в исходном коде SDK .

...