Bluetooth e connessione

Bluetooth usa la funzione di connessione per connettersi a un dispositivo Bluetooth di destinazione, usando un socket Bluetooth creato in precedenza. Il parametro name della funzione connect , che è una struttura SOCKADDR_BTH , deve specificare un dispositivo Bluetooth di destinazione. Per identificare il dispositivo di destinazione vengono usati due meccanismi:

  • La struttura SOCKADDR_BTH può specificare direttamente il numero di porta a cui viene richiesta una connessione. Questo meccanismo richiede all'applicazione di eseguire le proprie query SDP prima di tentare un'operazione di connessione .
  • La struttura SOCKADDR_BTH può specificare l'ID classe di servizio univoco del servizio a cui si desidera connettersi. Se il dispositivo peer ha più porte che corrispondono all'ID classe del servizio, la chiamata di funzione connect si connette al primo servizio valido. Questo meccanismo può essere usato senza query SDP precedenti.

Quando si usa la struttura SOCKADDR_BTH con la funzione connect, si applicano i requisiti seguenti:

  • Il membro btAddr deve essere un indirizzo radio remoto valido.
  • Per il membro serviceClassId , se il membro della porta è zero, il sistema tenta di usare serviceClassId per risolvere la porta remota corrispondente al servizio. La classe di servizio è un GUID a 128 bit normalizzato, definito dalla specifica Bluetooth. I GUID comuni sono definiti dal documento Numeri assegnati Bluetooth. In alternativa, è possibile usare un GUID univoco per un'applicazione specifica del dominio.
  • Il membro della porta deve essere una porta remota valida oppure zero se è specificato il membro serviceClassId .

La tabella seguente elenca i codici dei risultati per Bluetooth e la funzione di connessione .

Errore/errore# Descrizione
WSAEISCONN10056
La funzione di connessione chiamata per il socket già connesso.
WSAEACCES10013
Connessione l'applicazione ha richiesto l'autenticazione, ma l'autenticazione non è riuscita.
WSAENOBUFS10055
Errore di memoria insufficiente irreversibile.
WSAEADDRINU edizione Standard 10048
Il numero di porta/canale richiesto è in uso.
WSAETIMEDOUT10060
Timeout dell'I/O a livello di radio Bluetooth (PAGE_TIMEOUT).
WSAEDISCON10101
Canale RFCOMM disconnesso dal peer remoto.
WSAECONNRE edizione Standard T10054
Multiplexor RFCOMM (sessione) disconnesso dal peer remoto.
WSAECONNABORTED10053
Socket arrestato dall'applicazione.
WSAENETUNREACH10051
Errore diverso dal timeout a livello di radio L2CAP o Bluetooth.
WSAEHOSTDOWN10064
Risposta DM ricevuta da RFCOMM.
WSAENETDOWN10050
Errore di rete imprevisto.
WSAESHUTDOWN10058
Canale L2CAP disconnesso dal peer remoto.
WSAEADDRNOTAVAIL10049
Porta/canale Bluetooth o indirizzo del dispositivo non valido.
WSAEINVAL10022
Plug and Play, evento dello stack di driver o altro errore causato da un errore.

Windows Sockets

connect

SOCKADDR_BTH