Протокол обнаружения служб: проверьте наличие нескольких служб одновременно

Я следовал инструкциям на https://people.csail.mit.edu/albert/bluez-intro/x604.html проверить наличие определенной службы Bluetooth устройства. Я могу успешно проверить профиль последовательного порта.

По следам Bluetooth я заметил, что некоторые устройства ищут несколько сервисов одновременно. Можно ли расширить исходный код с сайта, упомянутого выше, чтобы получить эту функциональность? Я старался

[...]
search_list = sdp_list_append( NULL, &svc_uuid_1 );
search_list = sdp_list_append( NULL, &svc_uuid_2 );
[...]

но это, кажется, не работает, это действительно не «добавляет» UUID в search_list но перезаписать это.

Кроме того, трассировки показывают, что один единственный запрос SDP охватывает SPP, RFCOMM и L2CAP. Можно ли смешивать профили и протоколы в запросе SDP?

Кроме того, меня смущает следующий фрагмент, также с сайта выше:

// specify that we want a list of all the matching applications' attributes
uint32_t range = 0x0000ffff;
attrid_list = sdp_list_append( NULL, &range );

Что именно range? Какие варианты это предлагает? К сожалению, я не смог найти никаких объяснений в документации ядра Bluetooth v4.2.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector