藍牙 並連線

藍牙 使用使用先前建立的 藍牙 套接字,連線函式以連線到目標 藍牙 裝置。 connect 函式的名稱參數,這是SOCKADDR_BTH結構,必須指定目標 藍牙 裝置。 兩種機制可用來識別目標裝置:

  • SOCKADDR_BTH結構可以直接指定要求連接的埠號碼。 此機制需要應用程式在嘗試 連線 作業之前,先執行自己的 SDP 查詢。
  • SOCKADDR_BTH 結構可以指定它想要連線之服務的唯一服務類別標識碼。 如果對等裝置有多個對應至服務類別標識符的埠, 則 connect 函式呼叫會連線到第一個有效的服務。 此機制可在沒有先前的 SDP 查詢的情況下使用。

搭配 connect 函式使用 SOCKADDR_BTH 結構時,適用下列需求:

  • btAddr 成員必須是有效的遠端無線電位址。
  • 針對 serviceClassId 成員,如果埠成員為零,系統會嘗試使用 serviceClassId 解析對應至服務的遠端埠。 服務類別是標準化的 128 位 GUID,由 藍牙 規格定義。 常見的 GUID 是由 藍牙 指派的數位檔所定義。 或者,唯一的 GUID 可用於網域特定的應用程式。
  • 成員必須是有效的遠端埠,如果指定 serviceClassId 成員,則為零。

下表列出 藍牙 和 connect 函式的結果碼。

錯誤/錯誤# 描述
WSAEISCONN10056
針對已連線的套接字呼叫的 connect 函式。
WSAEACCES10013
連線 應用程式要求驗證,但驗證失敗。
WSAENOBUFS10055
無法復原的記憶體不足錯誤。
WSAEADDRINUSE10048
要求的埠/通道號碼正在使用中。
WSAETIMEDOUT10060
I/O 在 藍牙 無線電層級逾時(PAGE_TIMEOUT)。
WSAEDISCON10101
由遠端對等連線的 RFCOMM 通道。
WSAECONNRESET10054
遠端對等已中斷連線的 RFCOMM 多任務器(會話)。
WSAECONNABORTED10053
由應用程式關閉套接字。
WSAENETUNREACH10051
L2CAP 或 藍牙 無線電層級逾時以外的錯誤。
WSAEHOSTDOWN10064
RFCOMM 收到 DM 回應。
WSAENETDOWN10050
未預期的網路錯誤。
WSAESHUTDOWN10058
遠端對等中斷連線的 L2CAP 通道。
WSAEADDRNOTAVAIL10049
藍牙 埠/通道或裝置位址無效。
WSAEINVAL10022
隨插即用、驅動程式堆疊事件或其他錯誤導致失敗。

Windows Sockets

connect

SOCKADDR_BTH