Windows 10 中的两个不同应用程序正在尝试建立与同一设备的 RFCOMM 套接字连接如何断开一个并与另一个连接?

问题描述

我正在 UWP 中开发一个应用程序,用于连接我的蓝牙耳机设备。我使用 DeviceWatcher 来实现连接目的。几行代码来理解我与我的设备连接的程序如下 -

blDevice = await BluetoothDevice.FromIdAsync(deviceToConnectId);
.
//some other conditions
.
rfcommDeviceServicesResult = await blDevice.GetRfcommServicesForIdAsync(RfcommServiceId.FromUuid(new Guid(serviceUUID)),BluetoothCacheMode.Uncached);
.
//if we get rfcommDeviceServicesResult.Service.Count > 0
.
deviceServices = rfcommDeviceServicesResult.Services[0];
streamSocket = new StreamSocket();

await streamSocket.ConnectAsync(deviceServices.ConnectionHostName,deviceServices.ConnectionServiceName);
dataWriter = new DataWriter(streamSocket.OutputStream);
dataReader = new DataReader(streamSocket.InputStream);

现在,已经开发并发布了另一个应用来达到同样的目的。 如果我的蓝牙耳机设备与该应用程序连接,则无法将其与我的应用程序连接。尝试与套接字连接时显示错误。错误如下-

catch (Exception ex) when ((uint)ex.HResult == 0x80072740) // WSAEADDRINUSE
{
     Error = "Adress is already in use";
}

每当我收到地址正在使用的错误时,我都会尝试执行 streamSocket.Dispose(); deviceServices.Dispose();,dataReader.Dispose();,dataWriter.Dispose();,pairedDevice.Dispose();但连接不会与该应用断开并与我的应用建立连接。有没有办法处理/断开与该应用程序的连接并与我的连接?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...