Добрый день осуществляет формат записи TXT у Пантеры
Q: Я использую основанный на сокете DNSServiceDiscovery API, представленный в Mac OS X 10.3, и мой вызов к DNSServiceRegister возвращается-65549. Что продолжается?
A: Я использую основанный на сокете DNSServiceDiscovery API, представленный в Mac OS X 10.3, и мой вызов к DNSServiceRegister возвращается-65549. Что продолжается?
Запускаясь в Mac OS X 10.3, mDNSResponder требует, чтобы зарегистрировал записи, включая записи TXT, быть должным образом отформатированным согласно спецификации DNS. Если Ваша запись TXT будет неправильно отформатирована, то Вы будете видеть сообщение в системном журнале (/var/log/system.log) подобный Перечислению 1.
Системное сообщение журнала перечисления 1, указывающее незаконно, отформатировало запись TXT
Sep 15 16:06:13 localhost mDNSResponder[192]: Attempt to register record with invalid rdata: 17 Ice Cube._http._tcp.local. TXT ath=/index.html |
Спецификация протокола DNS-SD описывает формат для Добрый день записей TXT как состоящий из «нуля или большего количества строк, упакованных вместе в памяти без любых прошедших разрывов или дополняющий байты для выравнивания слов. Формат каждой составляющей строки в DNS запись TXT является единственным байтом длины, сопровождаемым на 0-255 байтов текстовых данных».
Перечисление 2 запись TXT, форматированная как байт длины, данные, байт длины, данные...
\011txtvers=1\020path=/index.html\025note=Bonjour Is Cool! |
В Mac OS X 10.2.x, Добрый день APIs использует ASCII 1 (» \001») как пограничный маркер между составляющими строками в DNS запись TXT, и затем запись TXT автоматически преобразовывается в правильный формат.
Перечисление 3 запись TXT, отформатированная с ASCII 1 как пограничный маркер
txtvers=1\001path=/index.html\001note=Bonjour Is Cool! |
В Mac OS X 10.3 и позже, CFNetServices, NSNetSerivces и основанный на Махе DNSServiceDiscovery APIs будут продолжать использовать ASCII 1 в качестве пограничного маркера, однако, недавно представил основанные на сокете подпрограммы как DNSServiceRegister и DNSServiceRegisterRecord потребуйте, чтобы записи TXT были должным образом отформатированы как байт длины, данные, байт длины, данные...
История версии документа
| Дата | Примечания |
|---|---|
| 14.07.2004 | Обновленные TXT записывают пример |
| 23.10.2003 | Новый документ, объясняющий, как mDNSResponder осуществляет надлежащий формат записи TXT у Пантеры. |