다음을 통해 공유


Bluetooth 및 바인딩

Bluetooth는 바인딩 함수를 사용하여 소켓에 바인딩합니다. Bluetooth 소켓을 바인딩하려면 SOCKADDR_BTH 구조를 사용하여 bind 함수를 호출합니다. 다음 설정으로 SOCKADDR_BTH 구조를 사용합니다.

name.addressFamily = AF_BTH;
name.btAddr = 0;
name.serviceClassId = GUID_NULL;
name.port = number of service channel, 0 or BT_PORT_ANY;

클라이언트 애플리케이션에서 적절한 로컬 엔드포인트를 할당하려면 포트 멤버가 0이어야 합니다. 서버 애플리케이션에서 포트 멤버는 유효한 포트 번호이거나 BT_PORT_ANY 합니다. BT_PORT_ANY 사용하여 자동으로 할당된 포트는 나중에 getsockname 함수를 호출하여 쿼리할 수 있습니다. 특정 RFCOMM 포트를 요청하기 위한 유효한 범위는 1~30입니다. 서버 채널은 전역 리소스이며 Bluetooth 주소 패밀리에 속하는 모든 Windows 소켓에서 공유해야 하는 모든 Bluetooth 디바이스에서 RFCOMM에 30개의 서버 채널만 사용할 수 있습니다. 사용할 수 있는 서버 채널이 없거나 지정된 서버 채널이 이미 예약된 경우 바인딩 호출이 실패합니다.

바인딩에서 성공적으로 반환되면 소켓이 닫을 때까지 서버 채널이 예약됩니다. getsockname 함수를 사용하여 SDP 등록에 대한 채널 번호를 검색합니다.

애플리케이션은 서버 채널에 자동 할당을 사용해야 합니다.

bind 함수는 Bluetooth SDP를 사용하여 서버 애플리케이션을 자동으로 보급하지 않습니다. 애플리케이션은 원격 Bluetooth 애플리케이션에서 찾을 수 있도록 WSASetService 함수를 호출해야 합니다.

Windows 소켓

바인딩할