Bluetooth y enlace
Bluetooth usa la función bind para enlazar a un socket. Para enlazar un socket Bluetooth, llame a la función bind mediante la estructura SOCKADDR_BTH . Use la estructura SOCKADDR_BTH con la siguiente configuración:
name.addressFamily = AF_BTH;
name.btAddr = 0;
name.serviceClassId = GUID_NULL;
name.port = number of service channel, 0 or BT_PORT_ANY;
En las aplicaciones cliente, el miembro del puerto debe ser cero para permitir que se asigne un punto de conexión local adecuado. En las aplicaciones de servidor, el miembro del puerto debe ser un número de puerto válido o BT_PORT_ANY; los puertos asignados automáticamente mediante BT_PORT_ANY se pueden consultar posteriormente con una llamada a la función getsockname . El intervalo válido para solicitar un puerto RFCOMM específico es de 1 a 30. Los canales de servidor son recursos globales y solo hay 30 canales de servidor disponibles para RFCOMM en cualquier dispositivo Bluetooth, que deben compartir todos los Sockets de Windows que pertenecen a la familia de direcciones Bluetooth. Si no hay ningún canal de servidor disponible o si el canal de servidor especificado ya está reservado, se produce un error en la llamada de enlace .
Después de devolver correctamente el enlace, el canal de servidor se reserva hasta que se cierra el socket. Use la función getsockname para recuperar el número de canal para el registro de SDP.
Las aplicaciones deben usar la asignación automática para el canal de servidor.
La función bind no anuncia automáticamente la aplicación de servidor mediante bluetooth SDP; Las aplicaciones deben llamar a la función WSASetService que las aplicaciones bluetooth remotas encuentren.
Temas relacionados