使用C#将文本和数据发送/接收到蓝牙(Com端口)

本文关键字:端口 Com 文本 数据 使用 | 更新日期: 2023-09-27 17:58:25

我正在创建一个程序,可以将测试或数据发送到蓝牙设备。为此,我想使用蓝牙软件提供的虚拟串行端口。

Q。有没有任何方法可以像局域网中的套接字编程一样将网络流发送到虚拟串行端口?

Q。如何从蓝牙接收数据?它是以网络流的形式吗?

Q。哪种是通过蓝牙发送和接收数据的快速方法?

因为我不仅向设备发送文本,还发送图像和其他类型的数据。

使用C#将文本和数据发送/接收到蓝牙(Com端口)

1)不确定蓝牙虚拟端口,但我怀疑您可以使用readFile/writeFile(或"Ex"异步版本)来处理CreateFile()返回的句柄,就像处理"普通"串行端口一样。如果是这样,您可以处理句柄(对不起!),就像处理客户端套接字连接()或服务器侦听器accept()中引发的套接字句柄一样。因此,您应该能够使用专用线程、I/O完成例程或IO完成端口与虚拟端口进行通信

我以前也做过类似的事情,但使用了Delphi和一个"真正的"串行端口和一个客户端网络连接。我使用了一个IO完成例程,其中一个"IOhandler"类被转移到"hEvent"字段中的完成例程。串行端口和客户端套接字类是IO处理程序的后代,因此相同的IO完成例程代码适用于两者。它运行良好,(最终:)。我不知道为什么它在C#中不能正常工作。

2) 再次确认蓝牙虚拟端口。考虑到许多蓝牙实现可以提供这些虚拟COM端口作为接口,那么传输肯定是"八位流",就像TCP或"真实"COM端口一样。

3) 在Windows上?我怀疑IO完成端口。可能没什么大不了的,因为蓝牙带宽与Windows所能处理的相比并没有那么好。

Rgds,Martin

这会对您有所帮助吗mCore™ .NET SMS库