Ошибка подключения к клиенту 32feet - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь подключиться через приложение, которое я создаю в качестве клиента, к своему телефону в целях тестирования, но я что-то упустил.После сопряжения устройств программа должна открыть новый поток, в котором она запускает client.BeginConnect, но доходит только до «Запуск потока подключения ...».

        BluetoothDeviceInfo deviceInfo;
    private void listBox1_DoubleClick(object sender, EventArgs e)
    {
        deviceInfo = devices.ElementAt(listBox1.SelectedIndex);
        updateUI(deviceInfo.DeviceName + " was selected. Attempting to connect.");

        if (pairDevice())
        {
            updateUI("Device paired.");
            updateUI("Starting connect thread...");
            Thread bluetoothClientThread = new Thread(new ThreadStart(ClientConnectThread));
        }
        else
        {
            updateUI("Pairing failed.");
        }
    }

    private void ClientConnectThread()
    {
        updateUI("Attempting connect.");
        client.BeginConnect(deviceInfo.DeviceAddress, BluetoothService.SerialPort, new AsyncCallback(BluetoothClientConnectCallback), client);
    }

Я попытался повторно использовать потокРанее я использовал для сканирования устройств и вставил туда BeginConnect, но это просто приводит к аварийному завершению программы.Я не уверен в том, какую ошибку это может показать, потому что я программирую это на своем ПК, но могу только протестировать программу на другом ноутбуке, используя файл .exe.

1 Ответ

0 голосов
/ 01 июня 2018

Вы создали тему, но еще не просили ее запустить:

Thread bluetoothClientThread = new Thread(new ThreadStart(ClientConnectThread));
bluetoothClientThread.Start(); // <--- this starts the thread

Подробнее см. Здесь

Конечно, тогда вывозникла другая проблема, потому что вы вызываете BeginConnect (который является асинхронным), а затем функция завершается (как и поток).

...