Delen via


Bluetooth en binding

Bluetooth maakt gebruik van de bind functie om aan een socket te binden. Als u een Bluetooth-socket wilt binden, roept u de -functie aan met behulp van de SOCKADDR_BTH-structuur. Gebruik de SOCKADDR_BTH structuur met de volgende instellingen:

name.addressFamily = AF_BTH;
name.btAddr = 0;
name.serviceClassId = GUID_NULL;
name.port = number of service channel, 0 or BT_PORT_ANY;

In clienttoepassingen moet het poortlid nul zijn om een geschikt lokaal eindpunt toe te wijzen. Op servertoepassingen moet het poortlid een geldig poortnummer of BT_PORT_ANY zijn; poorten die automatisch worden toegewezen met behulp van BT_PORT_ANY kunnen vervolgens worden opgevraagd met een aanroep naar de getsockname functie. Het geldige bereik voor het aanvragen van een specifieke RFCOMM-poort is 1 tot en met 30. Serverkanalen zijn globale resource en er zijn slechts 30 serverkanalen beschikbaar voor RFCOMM op elk Bluetooth-apparaat, dat moet worden gedeeld door alle Windows Sockets die deel uitmaken van de Bluetooth-adresfamilie. Als er geen serverkanaal beschikbaar is of als het opgegeven serverkanaal al is gereserveerd, mislukt de binding aanroep.

Als de verbinding tot stand is geroepen, wordt het serverkanaal gereserveerd totdat de socket is gesloten. Gebruik de functie getockname om het kanaalnummer voor SDP-registratie op te halen.

Toepassingen moeten gebruikmaken van automatische toewijzing voor het serverkanaal.

De bind functie maakt niet automatisch reclame voor de servertoepassing met behulp van de Bluetooth SDP; toepassingen moeten de WSASetService--functie aanroepen om te worden gevonden door externe Bluetooth-toepassingen.

Windows Sockets

binden