首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >32Feet windows 7中的BluetoothListener.AcceptBluetooth客户端块

32Feet windows 7中的BluetoothListener.AcceptBluetooth客户端块
EN

Stack Overflow用户
提问于 2016-09-30 22:05:56
回答 1查看 668关注 0票数 0

我们正在创建应用程序来与windows PC (这里我们使用windows 7)通信外部设备,在PC中我们使用蓝牙加密狗。

当我们尝试发现和配对设备时,它在windows PC上是成功的。

但是在代码端,我们正在尝试连接设备,但没有成功,这里我们使用32feet.net连接设备。

下面的代码我正在尝试连接设备。

代码语言:javascript
复制
////_serviceClassId = new Guid("9bde4762-89a6-418e-bacf-fcd82f1e0677");
        Guid serviceClass = BluetoothService.RFCommProtocol;
        int selectedIndex = device_list.SelectedIndex;
        BluetoothDeviceInfo selectedDevice = this.array[selectedIndex];
        var lsnr = new BluetoothListener(serviceClass);
        lsnr.Start();
        Task.Run(() => Listener(lsnr));

而监听器方法是

代码语言:javascript
复制
private void Listener(BluetoothListener lsnr)
    {
        try
        {
            while (true)
            {
                using (var client = lsnr.AcceptBluetoothClient())
                {
                    using (var streamReader = new StreamReader(client.GetStream()))
                    {
                        try
                        {
                            var content = streamReader.ReadToEnd();
                            if (!string.IsNullOrEmpty(content))
                            {
                                ////_responseAction(content);
                            }
                        }
                        catch (IOException)
                        {
                            client.Close();
                            break;
                        }
                    }
                }
            }
        }
        catch (Exception exception)
        {
            // todo handle the exception
            // for the sample it will be ignored
        }
    }

如果我运行应用程序,它会在lsnr.AcceptBluetoothClient()中被阻塞,有没有人可以帮忙,这是怎么回事?

注意:当我们通过PC连接时,蓝牙设备创建了两个端口,一个是传入端口,另一个是传出端口。

EN

回答 1

Stack Overflow用户

发布于 2017-04-25 20:52:06

这是因为它要等到有客户端连接时才会进行处理。你必须在线程中运行它才能同时工作!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39793422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档