【发布时间】:2016-09-03 10:34:38
【问题描述】:
我已经注册了一个后台任务,它将在我的蓝牙设备连接后立即处理 (rfcomm) 蓝牙连接。现在,我想做的是制作一个“连接”按钮,就像小工具应用程序中的那个一样。它应该强制设备连接到我的蓝牙设备而不打开套接字,以便后台任务可以处理它。
我该怎么做?
【问题讨论】:
标签: c# bluetooth windows-runtime win-universal-app windows-10
我已经注册了一个后台任务,它将在我的蓝牙设备连接后立即处理 (rfcomm) 蓝牙连接。现在,我想做的是制作一个“连接”按钮,就像小工具应用程序中的那个一样。它应该强制设备连接到我的蓝牙设备而不打开套接字,以便后台任务可以处理它。
我该怎么做?
【问题讨论】:
标签: c# bluetooth windows-runtime win-universal-app windows-10
蓝牙应该使用 StreamSocket,它应该使用套接字。
async void send(string str)
{
StreamSocket socket = await PeerFinder.ConnectAsync(peer);
DataWriter data_writer=new DataWriter(socket.OutputStream);
data_writer.WriteString(str);
await data_writer.StoreAsync();
}
【讨论】:
Only one usage of each socket address (protocol/network address/port) is normally permitted。原因是在连接时,rfcomm后台任务已经启动并接管了连接。