Bluetooth et se connecter

Bluetooth utilise la fonction connect pour se connecter à un appareil Bluetooth cible, à l’aide d’un socket Bluetooth créé précédemment. le paramètre name de la fonction connect , qui est une structure _ BTH SOCKADDR , doit spécifier un appareil Bluetooth cible. Deux mécanismes sont utilisés pour identifier l’appareil cible :

  • La structure _ BTH sockaddr peut spécifier directement le numéro de port auquel une connexion est demandée. Ce mécanisme requiert que l’application exécute ses propres requêtes SDP avant de tenter une opération de connexion .
  • La structure _ BTH sockaddr peut spécifier l’ID de classe de service unique du service auquel elle souhaite se connecter. Si l’appareil homologue a plus d’un port qui correspond à l’ID de classe de service, l’appel de fonction de connexion se connecte au premier service valide. Ce mécanisme peut être utilisé sans requêtes SDP antérieures.

Lors de l’utilisation de la structure _ BTH sockaddr avec la fonction Connect , les conditions suivantes s’appliquent :

  • Le membre btAddr doit être une adresse de radio distante valide.
  • Pour le membre serviceClassId , si le membre port est égal à zéro, le système tente d’utiliser serviceClassId pour résoudre le port distant correspondant au service. la classe de service est un GUID 128 bits normalisé, défini par la spécification Bluetooth. les guid communs sont définis par le Bluetooth document de nombres affectés. Un GUID unique peut également être utilisé pour une application spécifique à un domaine.
  • Le membre de port doit être un port distant valide, ou zéro si le membre serviceClassId est spécifié.

le tableau suivant répertorie les codes de résultat pour Bluetooth et la fonction connect .

Erreur/erreur# Description
WSAEISCONN10056
Fonction Connect appelée pour un socket déjà connecté.
WSAEACCES10013
Connexion de l’application demandée, mais l’authentification a échoué.
WSAENOBUFS10055
Erreur irrécupérable de mémoire insuffisante.
WSAEADDRINUSE10048
Le numéro de port/de canal demandé est utilisé.
WSAETIMEDOUT10060
le délai d’e/s a expiré au niveau radio Bluetooth ( _ délai d’attente de la PAGE).
WSAEDISCON10101
Canal RFCOMM déconnecté par l’homologue distant.
WSAECONNRESET10054
Multiplexeur RFCOMM (session) déconnecté par l’homologue distant.
WSAECONNABORTED10053
Arrêt du socket par l’application.
WSAENETUNREACH10051
erreur différente du délai d’attente au niveau de la radio L2CAP ou Bluetooth.
WSAEHOSTDOWN10064
RFCOMM a reçu une réponse DM.
WSAENETDOWN10050
Erreur réseau inattendue.
WSAESHUTDOWN10058
Canal L2CAP déconnecté par l’homologue distant.
WSAEADDRNOTAVAIL10049
port/canal ou adresse de l’appareil Bluetooth non valide.
WSAEINVAL10022
Plug-and-Play, un événement de pile de pilotes ou une autre erreur provoquée par un échec.

Windows Sockets

entre

SOCKADDR _ BTH