【发布时间】:2011-10-24 11:12:39
【问题描述】:
我已经读到,在通过蓝牙进行通信之前必须先配对,但我想知道,
我可以创建一个应用程序来读取文本吗? 由其他蓝牙应用广播而未配对。
因为我们可以看到设备周围其他蓝牙设备的名称。所以我们不能将我们的蓝牙收音机设置为可以读取任何蓝牙广播文本消息的状态。
示例:在 android 中有 createInsecureRfcommSocketToServiceRecord() 和 listenUsingInsecureRfcommWithServiceRecord() 但在 C# 中没有这样的 windows 吗?
谢谢
我的终极目标 :-)
正在创建一个在 Windows 7 PC 上运行的应用程序,该应用程序为点对点文件传输和聊天创建即时蓝牙网络
场景
有一群人,每个人的每台计算机上都有这个应用程序,一个人想与其他人共享一个文件(可能是电子书、PDF 或任何东西)。他在他的应用程序配置中设置了他的网络“网络”(或任何其他名称),其他人也在每个应用程序上设置了相同的名称。最后,每个用户都可以在他们的应用程序显示中看到他们周围的其他蓝牙节点列表,配置为相同的网络名称“net”。这样每个人都可以将文件发送到同一网络中的选定节点。
设计
- 每个用户仅 打开蓝牙无线电,然后在应用中输入所需的网络名称
- PC 上的每个应用程序将通过临时创建的连接(无需配对或用户参与)迭代地与可访问的蓝牙设备通信,检查它们的网络名称并列出具有相似网络名称的可发现 PC
- 然后它们将在彼此之间共享这些列表,因此一台 PC 知道同一网络中的计算机,即使它们不在范围内。
- 通过算法解析的路径将文件从一台计算机发送到一台或多台计算机,甚至发送聊天文本。
- 所有这些都将通过在每个应用程序之间不时建立的简单临时蓝牙连接来实现,除了网络名称之外,不需要配对或身份验证。 (因为我不知道如何使用 C# 创建 Piconets,也不知道如何创建蓝牙路由协议。
- 未实施其他安全措施。
请让我知道任何其他更好的设计或方式。非常感谢您阅读冗长的文字。还包括任何可以帮助我实现上述目标的有用代码。
【问题讨论】:
标签: c# networking network-programming bluetooth network-protocols