2016-12-18 3 views
0

Je suis en train d'utiliser l'exemple de code pour mon cas de Pair bluetooth devices to a computer with 32feet .NET Bluetooth libraryTrouvez 32Feet BluetoothAddress de l'adaptateur Bluetooth local en C#

À cet égard, xmashallax ont mentionné l'adresse MAC locale. Pour obtenir l'adresse locale que je suis en train this-

public static BluetoothAddress GetBTMacAddress() 
    { 
     var nics = NetworkInterface.GetAllNetworkInterfaces(); 
     foreach (NetworkInterface nic in nics) 
     { 
      // Only consider Bluetooth network interfaces 
      if (nic.NetworkInterfaceType != NetworkInterfaceType.FastEthernetFx && 
       nic.NetworkInterfaceType != NetworkInterfaceType.Wireless80211 && nic.Description.Contains("Bluetooth")) 
      { 

       return new BluetoothEndPoint(nic.GetPhysicalAddress().GetAddressBytes(), BluetoothService.SerialPort); 
      } 
     } 
     return null; 
    } 

Je reçois une erreur ici « The requested address is not valid in its context » ErrorCode: AddressNotAvailable

Pouvez-vous s'il vous plaît suggérer ce que devrait être la bonne façon d'obtenir l'adresse MAC du PC local actuel?

Répondre

0

Affichage de cette réponse pour les personnes susceptibles d'être confrontées à un scénario similaire.

Fondamentalement, pour créer un point de terminaison Bluetooth, vous avez besoin d'une adresse MAC Bluetooth valide de l'adaptateur. Pour obtenir l'adresse locale Bluetooth mac de la machine locale il suffit d'utiliser

BluetoothRadio.PrimaryRadio.LocalAddress 

de sorte que le code ci-dessus devra être changé pour

public static BluetoothAddress GetBTMacAddress() 
    { 

     BluetoothRadio myRadio = BluetoothRadio.PrimaryRadio; 
     if (myRadio == null) 
     { 
      //  Console.WriteLine("No radio hardware or unsupported software stack"); 
      return null; 
     } 

     return myRadio.LocalAddress; 
    }