2013-12-08 6 views
2

Я пытаюсь установить связь с устройством bluetooth в качестве клиента с использованием 32feet.NET. Устройство на самом деле является микроконтроллером с модулем bluetooth, но в настоящее время я использую свой Windows-телефон для тестирования. Устройства уже спарены, и вот что я сделал. (DevInfo является DeviceInfo выбранного устройства)32-битный клиент bluetooth не удается подключиться

private void ClientConnect() 
{ 
    var client = new BluetoothClient(); 
    client.SetPin("pin used for pairing"); 
    client.BeginConnect(devInfo.DeviceAddress, BluetoothService.SerialPort, BluetoothClientConnectCallback, client); 
} 

private void BluetoothClientConnectCallback(IAsyncResult ar) 
{ 
    var bluetoothClient = ar.AsyncState as BluetoothClient; 
    bluetoothClient.EndConnect(ar); 
    UpdateUI("Connected"); 

    var stream = bluetoothClient.GetStream(); 
... 

Но на данный момент: bluetoothClient.EndConnect (аг); я всегда получаю SocketException в основном говорят: «Запрошенный адрес не является действительным в контексте»

и редко он говорит:

"Попытка подключения не удалась, поскольку подключенная сторона не ответила по истечении определенного периода времени или установленное соединение не удалось, так как подключенный хост не смог ответить «

Не могли бы вы предложить что-то, что может вызвать проблему?

+0

Я столкнулся с той же проблемой. Если я использую свой ноутбук как Сервер, он работает. Я проверил его с помощью джойстика с моего телефона, и я получаю данные. Если я попытаюсь подключиться к своему телефону, открыв его, он даст мне эту ошибку «Необработанное исключение типа« System.Net.Sockets.SocketException »произошло в System.dll Дополнительная информация: Запрошенный адрес недействителен в его context " – Coder

+0

Вы добавили соответствующие флаги в манифест приложения? –

+0

https://32feet.codeplex.com/wikipage?title=Errors Ошибка: «Запрашиваемый адрес недействителен в его контексте». Причина: на удаленном устройстве не работает служба с данным идентификатором Service Class Id – FlemGrem

ответ

0

Для меня было достаточно, чтобы изменить линию в начале соединения с

client.BeginConnect(info.DeviceAddress, BluetoothService.SerialPort, 
new AsyncCallback(BCCCallback), client); 

он просто должен был быть AsyncCallback