我正在创建一个程序,可以将测试或数据发送到蓝牙设备。为此,我想使用蓝牙软件提供的虚拟串口。
Q值。有没有办法将网络流发送到虚拟串口,如LAN中的套接字编程?
Q值。如何通过蓝牙接收数据?它是否以网络流的形式出现?
Q值。哪种是通过蓝牙发送和接收数据的快速方法?
因为我不仅向设备发送文本,还发送图像和其他类型的数据。
答案 0 :(得分:1)
1)不确定蓝牙虚拟端口,但我怀疑你可以使用readFile / writeFile(或'Ex'异步版本)到CreateFile()返回的句柄,就像'普通'串行一样港口。如果是这样,你可以处理句柄,(抱歉!),就像在客户端套接字connect()或服务器监听器accept()中引发的套接字句柄一样。因此,您应该能够使用专用线程,I / O完成例程或IO完成端口与虚拟端口进行通信。
之前我做过类似的事情,但使用Delphi和'真正的'串行端口和客户端网络连接。我使用了IO完成例程,其中'IOhandler'类被转移到'hEvent'字段中的完成例程。串行端口和客户端套接字类是IOhandler后代,因此相同的IO完成例程代码适用于两者。它工作正常,(最终:)。我不知道为什么它在C#中不能正常工作。
2)同样,关于蓝牙虚拟端口。鉴于许多蓝牙实现可以将这些虚拟COM端口作为接口提供,那么传输肯定是一个“八位字节流”,就像TCP或“真正的”COM端口一样。
3)在Windows上?我怀疑IO完成端口。可能并不重要,因为与Windows可以处理的相比,蓝牙带宽并不是那么好。
RGDS, 马丁
答案 1 :(得分:0)
这可能会对你有所帮助 mCore™ .NET SMS Library