Bluetooth und Binden

Bluetooth verwendet die Bindfunktion , um eine Bindung an einen Socket zu erstellen. Um einen Bluetooth-Socket zu binden, rufen Sie die Bindfunktion mithilfe der SOCKADDR_BTH-Struktur auf. Verwenden Sie die SOCKADDR_BTH-Struktur mit den folgenden Einstellungen:

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

Bei Clientanwendungen muss das Portmitglied 0 (null) sein, damit ein geeigneter lokaler Endpunkt zugewiesen werden kann. Bei Serveranwendungen muss das Portmitglied eine gültige Portnummer oder BT_PORT_ANY sein. Ports, die automatisch mithilfe von BT_PORT_ANY zugewiesen werden, können später mit einem Aufruf der getockname-Funktion abgefragt werden. Der gültige Bereich für das Anfordern eines bestimmten RFCOMM-Ports beträgt 1 bis 30. Serverkanäle sind eine globale Ressource, und nur 30 Serverkanäle stehen für RFCOMM auf jedem Bluetooth-Gerät zur Verfügung, die von allen Windows-Sockets freigegeben werden müssen, die zur Bluetooth-Adressfamilie gehören. Wenn kein Serverkanal verfügbar ist oder der angegebene Serverkanal bereits reserviert ist, schlägt der Bindungsaufruf fehl.

Nach erfolgreicher Rückkehr von der Bindung wird der Serverkanal reserviert, bis der Socket geschlossen wird. Verwenden Sie die getockname-Funktion , um die Kanalnummer für die SDP-Registrierung abzurufen.

Anwendungen sollten die automatische Zuordnung für den Serverkanal verwenden.

Die Bindfunktion kündigt die Serveranwendung nicht automatisch mit der Bluetooth-SDP an. Anwendungen müssen die WSASetService-Funktion aufrufen, um von Bluetooth-Remoteanwendungen gefunden zu werden.

Windows Sockets

Binden