Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Bluetooth pour Windows prend en charge les options de socket suivantes. Les options de socket sont définies et interrogées à l’aide des fonctions setsockopt et getsockopt, respectivement. Toutes les options suivantes peuvent être utilisées avec la fonction setsockopt, mais seule l’option SO_BTH_MTU est disponible pour une utilisation avec la fonction getsockopt.
Les paramètres suivants sont nécessaires pour utiliser les options de socket Bluetooth :
- Le paramètre de doit être un socket Bluetooth.
- Le paramètre de niveau doit être SOL_RFCOMM.
SO_BTH_AUTHENTICATE
Pour les sockets déconnectés, l'SO_BTH_AUTHENTICATE spécifie que l’authentification est requise pour qu’unde connexionou accepter l’opération de s’exécute correctement. La définition de cette option de socket lance activement l’authentification pendant l’établissement de la connexion, si les deux appareils Bluetooth n’ont pas été authentifiés précédemment. L’interface utilisateur pour l’échange de clé secrète, si nécessaire, est fournie par le système d’exploitation en dehors du contexte de l’application.
Pour les connexions sortantes qui nécessitent une authentification, l’opération de connexion échoue avec WSAEACCES si l’authentification n’est pas réussie. En réponse, l’application peut inviter l’utilisateur à authentifier les deux appareils Bluetooth avant la connexion.
Pour les connexions entrantes, la connexion est rejetée si l’authentification ne peut pas être établie et retourne une erreur WSAEHOSTDOWN. Pour plus d’informations sur l’authentification des appareils Bluetooth, consultez BluetoothAuthenticateDevice.
Pour l’option de socket SO_BTH_AUTHENTICATE, optval est un pointeur vers ULONG bAuthenticate et doit être TRUE; optlen équivaut à « sizeof(ULONG) ».
Windows XP avec SP2 : SO_BTH_AUTHENTICATE démarre l’authentification pour les sockets connectés et force l’authentification lors de la connexion pour les sockets non connectés. Pour les connexions entrantes, la connexion est rejetée si l’authentification ne peut pas être effectuée.
SO_BTH_ENCRYPT
Sur les sockets non connectés, l’option de socket SO_BTH_ENCRYPT applique le chiffrement pour établir une connexion. Le chiffrement est disponible uniquement pour les connexions authentifiées. Pour les connexions entrantes, une connexion pour laquelle le chiffrement ne peut pas être établi est automatiquement rejetée et retourne WSAEHOSTDOWN comme erreur. Pour les connexions sortantes, la fonction connecter échoue avec WSAEACCES si le chiffrement ne peut pas être établi. En réponse, l’application peut inviter l’utilisateur à authentifier les deux appareils Bluetooth avant la connexion. Pour plus d’informations sur l’authentification des appareils Bluetooth, consultez BluetoothAuthenticateDevice.
Pour l’option de socket SO_BTH_ENCRYPT, optval est un pointeur vers ULONG bEncrypt et doit être TRUE; optlen équivaut à sizeof(ULONG).
Windows XP avec SP2 : Pour un socket connecté et authentifié, SO_BTH_ENCRYPT démarre le chiffrement.
SO_BTH_MTU
L’option de socket SO_BTH_MTU est une option avancée utilisée principalement pour la validation. L’option SO_BTH_MTU obtient ou définit la valeur par défaut RFCOMM MTU (unité de transmission maximale) pour la négociation de connexion à une valeur différente de la valeur par défaut du protocole RFCOMM.
Étant donné que RFCOMM MTU est affecté par le MTU L2CAP sous-jacent, le protocole et les valeurs minimales et maximales de l’application, la valeur par défaut pour SO_BTH_MTU n’est qu’un point de départ pour la négociation avec l’homologue distant, et le MTU négocié final est susceptible de varier de la valeur par défaut. La définition de la valeur SO_BTH_MTU peut affecter négativement le débit et, par conséquent, toute modification doit être effectuée avec connaissance du protocole Bluetooth sous-jacent.
L’option de socket SO_BTH_MTU peut être effectuée sur des sockets connectés, mais n’a aucun effet si la négociation est déjà terminée. La définition du socket d’écoute (serveur) n’a aucun effet.
La quantité de données qu’une application peut envoyer ou recevoir dans un seul appel de socket n’est pas affectée par le MTU ; MTU affecte uniquement la façon dont le fournisseur de services Windows Sockets sous-jacent segmente les paquets pour le transport. Le MTU proposé et le MTU finalement négociés doivent être entre RFCOMM_MIN_MTU et RFCOMM_MAX_MTU, comme défini dans le fichier d’en-tête Ws2bth.h.
Pour l’option de socket SO_BTH_MTU, optval est un pointeur vers ULONG mtu ; optlen équivaut à « sizeof(ULONG) ».
SO_BTH_MTU_MAX
L’option de socket SO_BTH_MTU_MAX est une option avancée utilisée principalement pour la validation. L’option de socket SO_BTH_MTU_MAX définit le nombre maximal de RFCOMM MTU (unité de transmission maximale) pour la négociation de connexion. Les connexions avec un MTU RFCOMM égal ou supérieur à cette valeur échouent pendant la connexion /accepter processus. Si la définition de cette option de socket est autorisée pour un socket connecté, elle n’a aucun effet si la négociation s’est terminée. La définition de cette option de socket sur un socket d’écoute propage la valeur de toutes les connexions entrantes. La valeur MAX MTU doit être comprise entre RFCOMM_MIN_MTU et RFCOMM_MAX_MTU, comme défini dans le fichier d’en-tête Ws2bth.h.
Pour l’option de socket SO_BTH_MTU_MAX, optval est un pointeur vers ULONG max_mtu ; optlen équivaut à « sizeof(ULONG) ».
SO_BTH_MTU_MIN
L’option de socket SO_BTH_MTU_MIN est une option avancée utilisée principalement pour la validation. L’option de socket SO_BTH_MTU_MIN définit le minimum RFCOMM MTU (unité de transmission maximale) pour la négociation de connexion. Les connexions avec un MTU RFCOMM inférieur à cette valeur échouent pendant la connexion /accepter processus. Si la définition de cette option de socket est autorisée pour un socket connecté, elle n’a aucun effet si la négociation s’est terminée. La définition de cette option de socket sur un socket d’écoute propage la valeur de toutes les connexions entrantes.
Seul un socket d’écoute peut réviser le MTU vers le bas, par conséquent, si la valeur proposée par le socket de connexion est inférieure à la valeur définie pour SO_BTH_MTU_MIN sur le socket d’écoute, la connexion est refusée. La MTU minimale doit être comprise entre RFCOMM_MIN_MTU et RFCOMM_MAX_MTU, comme défini dans le fichier d’en-tête Ws2bth.h.
Pour l’option de socket SO_BTH_MTU_MIN, optval est un pointeur vers le min_mtu ULONG ; optlen équivaut à « sizeof(ULONG) ».
Rubriques connexes