32feet客户端连接线程失败

时间:2018-05-31 20:41:55

标签: c# 32feet

我试图通过应用程序连接我作为客户端连接我的手机进行测试,但我错过了一些东西。在配对设备之后,程序应该打开一个运行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 :(得分:0)

您已创建了一个帖子,但尚未要求它开始:

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

See here for details

当然,你有另一个问题,因为你调用BeginConnect(这是异步的)然后函数结束(线程也是如此)。