【问题标题】:Send/Receive Text and Data to bluetooth (Com Port) using C#使用 C# 将文本和数据发送/接收到蓝牙(Com 端口)
【发布时间】:2011-09-09 04:39:16
【问题描述】:

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

问。有没有办法像局域网中的套接字编程一样将网络流发送到虚拟串口?

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

问。通过蓝牙发送和接收数据的快速方法是什么?

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

【问题讨论】:

  • 很好的问题集,但最好将它们分成三个单独的问题。然后每个人都可以独立回答。

标签: c# bluetooth


【解决方案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, 马丁

【讨论】:

    【解决方案2】:

    这对你有帮助吗 mCore™ .NET SMS Library

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-20
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多