Обновление: решение
Мне удалось решить проблему, выключив / включив Bluetooth на моем компьютере (устройство, с которого я отправляю данные)
Я экспериментирую с библиотекой 32feet.net Bluetooth, но натолкнулся на что-то странное. Когда я нажму кнопку сканирования, я открою SelectBluetoothDeviceDialog
, и когда BluetoothClient
соединится с BluetoothEndPoint
, произойдет новое.
Вчера все работало нормально, но теперь мой код сломается на client.Connect(endPoint)
и Bluetooth.Connect(device)
по какой-то причине вернет false.
client.Connect (конечная точка)
Код ошибки: 10022
System.Net.Sockets.SocketException: 'указан неверный аргумент C0EEFBED5AAD: 0000111e00001000800000805f9b34fb'
private void btnScanBeta_Click(object sender, EventArgs e)
{
var device = Bluetooth.DeviceDialog();
if (!Bluetooth.Connect(device))
{
throw new Exception("Can't connect to device.");
}
BluetoothEndPoint endPoint = new BluetoothEndPoint(device.DeviceAddress, BluetoothService.Handsfree);
using (BluetoothClient client = new BluetoothClient())
{
try
{
client.Connect(endPoint);
}
catch (Exception)
{
throw;
}
}
}
Bluetooth.DeviceDialog ()
public static BluetoothDeviceInfo DeviceDialog(bool showAuthenticated = true, bool showRemembered = true, bool showUnknown = true)
{
using (SelectBluetoothDeviceDialog dialog = new SelectBluetoothDeviceDialog())
{
dialog.ShowAuthenticated = showAuthenticated;
dialog.ShowRemembered = showRemembered;
dialog.ShowUnknown = showUnknown;
if (dialog.ShowDialog() == DialogResult.OK)
{
if (dialog.SelectedDevice != null)
{
return dialog.SelectedDevice;
}
else return null;
}
else return null;
}
}
Bluetooth.Connect ()
public static bool Connect(BluetoothDeviceInfo device)
{
if (device.Authenticated)
{
return true;
}
return BluetoothSecurity.PairRequest(device.DeviceAddress, null);
}