Lendo dados brutos via Bluetooth

Eu tenho um dispositivo de interface humana digital que estou tentando conectar usando 32feet.net para que eu possa ler dados de entrada e processar uma saída em meu aplicativo. Eu nunca programei com o bluetooth antes e estou aprendendo enquanto vou.

Eu posso conectar meu dispositivo ao Windows 7 usando a pilha microsoft / broadcom sem problemas. Eu também posso descobrir o dispositivo usando 32feet.net, mas quando tento conectá-lo, recebo um erro. Certifiquei-me de que minha pilha fosse suportada usando o BluetoothRadio.IsSupported Aqui está um trecho de código:

 var client = new BluetoothClient();
 var dlg = new SelectBluetoothDeviceDialog();
 DialogResult result = dlg.ShowDialog(this);
 if (result != DialogResult.OK)
 {
     return;
 }
 BluetoothDeviceInfo device = dlg.SelectedDevice;
 BluetoothAddress addr = device.DeviceAddress;
 Console.WriteLine(device.DeviceName);
 Guid serviceClass = BluetoothService.HumanInterfaceDevice;
 client.Connect(new BluetoothEndPoint(addr, serviceClass));

A última linha causa o seguinte erro: Ocorreu uma exceção de primeira chance do tipo 'System.Net.Sockets.SocketException' no System.dll

Eu tentei alguns outros métodos também com client.Connect. Eu tentei usar DiscoverDevices para obter uma matriz DeviceInfo e escolhendo manualmente o dispositivo fora dessa matriz e conectando-se a ele. Eu tentei definir o serviceClass como vazio porque é isso que aparece quando eu uso DeviceInfo.ClassOfDevice.Service. Consegui conectar o dispositivo às janelas usando o DeviceInfo.SetServiceState (BluetoothService.HumanInterfaceDevice, true), mas não consigo obter um fluxo a partir dele.

Mesmo se eu puder obter um fluxo de dados do dispositivo depois de ter sido conectado no Windows, tudo bem. Meu objetivo aqui é simples de ser capaz de ler a entrada do dispositivo como um botão pressionado.

questionAnswers(2)

yourAnswerToTheQuestion