Bluetooth et liaison
Bluetooth utilise la fonction lier pour établir une liaison à un socket. Pour lier un socket Bluetooth, appelez la fonction lier à 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 du port doit être égal à zéro pour permettre à un point de terminaison local approprié d’être affecté. Sur les applications serveur, le membre du port doit être un numéro de port valide ou BT_PORT_ANY ; 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 de 1 à 30. Les canaux de serveur sont des ressources globales et seuls 30 canaux de 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 de serveur n’est disponible ou si le canal de serveur spécifié est déjà réservé, le lier appel échoue.
Une fois la liaison terminée, le canal du 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 de serveur.
La fonction lier ne publie pas automatiquement l’application serveur à l’aide du SDP Bluetooth ; les applications doivent appeler la fonction WSASetService à rechercher par les applications Bluetooth distantes.
Rubriques connexes