Bluetooth ve bağlama

Bluetooth, yuvaya bağlanmak için bağlama işlevini kullanır. Bluetooth yuvasını bağlamak için SOCKADDR_BTH yapısını kullanarak bağlama işlevini çağırın. aşağıdaki ayarlarla SOCKADDR_BTH yapısını kullanın:

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

İstemci uygulamalarında, uygun bir yerel uç noktanın atanmasını sağlamak için bağlantı noktası üyesi sıfır olmalıdır. Sunucu uygulamalarında, bağlantı noktası üyesi geçerli bir bağlantı noktası numarası veya BT_PORT_ANY olmalıdır; BT_PORT_ANY kullanılarak otomatik olarak atanan bağlantı noktaları daha sonra getsockname işlevine yapılan çağrıyla sorgulanabilir. Belirli bir RFCOMM bağlantı noktası istemek için geçerli aralık 1 ile 30 arasındadır. Sunucu kanalları genel kaynaktır ve RFCOMM için herhangi bir Bluetooth cihazında yalnızca 30 sunucu kanalı kullanılabilir. Bu kanal, Bluetooth adres ailesine ait tüm Windows Yuvaları tarafından paylaşılmalıdır. Kullanılabilir sunucu kanalı yoksa veya belirtilen sunucu kanalı zaten ayrılmışsa bağlama çağrısı başarısız olur.

Bağlamadan başarılı bir şekilde döndükten sonra, yuva kapatılana kadar sunucu kanalı ayrılır. SDP kaydı için kanal numarasını almak için getsockname işlevini kullanın.

Uygulamalar, sunucu kanalı için otomatik ayırma kullanmalıdır.

bağlama işlevi, Bluetooth SDP kullanarak sunucu uygulamasını otomatik olarak tanıtmıyor; uygulamaların uzak Bluetooth uygulamaları tarafından bulunabilmesi için WSASetService işlevini çağırması gerekir.

Windows Yuvaları

bağlama