Partager via


Bluetooth et liaison

Bluetooth utilise la fonction de liaison pour établir une liaison à un socket. Pour lier un socket Bluetooth, appelez la fonction bind à l’aide de la structure SOCKADDR_BTH . Utilisez la structure SOCKADDR_BTH avec les paramètres suivants :

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

Sur les applications clientes, le membre de port doit être égal à zéro pour permettre l’attribution d’un point de terminaison local approprié. Sur les applications serveur, le membre de port doit être un numéro de port ou un BT_PORT_ANY valide ; les ports attribués automatiquement à l’aide de BT_PORT_ANY peuvent être interrogés par la suite avec un appel à la fonction getsockname . La plage valide pour demander un port RFCOMM spécifique est comprise entre 1 et 30. Les canaux de serveur sont des ressources globales et seuls 30 canaux serveur sont disponibles pour RFCOMM sur n’importe quel appareil Bluetooth, qui doit être partagé par tous les sockets Windows appartenant à la famille d’adresses Bluetooth. Si aucun canal serveur n’est disponible ou si le canal serveur spécifié est déjà réservé, l’appel de liaison échoue.

En cas de retour réussi de la liaison, le canal serveur est réservé jusqu’à ce que le socket soit fermé. Utilisez la fonction getsockname pour récupérer le numéro de canal pour l’inscription SDP.

Les applications doivent utiliser l’allocation automatique pour le canal serveur.

La fonction bind ne publie pas automatiquement l’application serveur à l’aide du SDP Bluetooth ; les applications doivent appeler la fonction WSASetService pour qu’elle soit trouvée par les applications Bluetooth distantes.

Windows Sockets

Lier