Я работаю над созданием приложения, использующего обнаружение сетевых служб. Я следил за этим сообщением http://developer.android.com/training/connect-devices-wireless/nsd-wifi-direct.html, и приложение работает, но у меня есть пара вопросов, основанных на приведенном ниже коде.
WifiP2pDnsSdServiceInfo.newInstance("_test", "_presence._tcp", запись);
Похоже, запись не может содержать много данных. Например, если размер записи равен 20, информация не отправляется. Можете ли вы сказать мне об ограничении размера? Какой объем данных я могу отправить?
Мне не совсем понятны доступные типы служб, такие как _presence._tcp. Это зависит от поставщика? Будет полезно узнать список поддерживаемых типов служб. Определяет ли тип услуги количество информации, которую я могу отправить? Если да, то какие типы услуг предпочтительнее для отправки карты хорошего размера.
Обновление: я проверил этот черновик по адресу http://files.dns-sd.org/draft-cheshire-dnsext-dns-sd.txt и см. раздел 6.2 Размер записи DNS-SD TXT. Похоже, что ограничение по размеру невелико, как указано: «Общий размер типичной записи TXT DNS-SD должен быть небольшим — 200 байт или меньше. В случаях, когда оправдано большее количество данных (например, печать LPR [BJP]), сохранение общего размера менее 400 байт должно позволить ему поместиться в одно 512-байтовое сообщение DNS». Есть предположения?