Zer*_*one 7 c# networking network-programming bluetooth network-protocols
我已经读过,在通过蓝牙进行通信之前必须进行配对,但我想知道,
我是否可以创建一个应用程序来读取由另一个蓝牙应用程序广播的文本而不进行配对.
因为我们可以看到设备周围其他蓝牙设备的名称.因此,我们不能将我们的蓝牙无线电设置为可以读取任何蓝牙播放文本消息的状态.
示例:android中有createInsecureRfcommSocketToServiceRecord()&listenUsingInsecureRfcommWithServiceRecord()但是在C#中没有这样的窗口吗?
谢谢
正在创建一个在Windows 7 PC上运行的应用程序,它可以创建即时蓝牙网络,用于对等文件传输和聊天
有一群人,每个人在每台计算机上都有这个应用程序,其中一个人希望与其他人分享文件(可能是电子书,PDF或任何东西).他在他的应用程序配置中设置了他的网络"net"(或任何其他名称),而其他人也在每个应用程序上添加了相同的名称.最后,每个用户可以在他们的应用程序显示中看到他们周围的其他蓝牙节点的列表,配置为相同的网络名称"net".所以每个人都可以将文件发送到同一网络中的选定节点.
请让我知道任何其他更好的设计或方式.非常感谢你阅读冗长的文字.还包括任何有用的代码,可以帮助我实现上述目标.
我每天都会做几十个不配对的连接......我不知道这个谣言来自哪里.: - )
正如你在Android上注意到的那样,默认是经过身份验证的连接 - 也许这就是谣言的起源?即使在那里,正如您所注意到的,有一些方法可以请求"配对 - 不需要"连接,例如listenUsingInsecureRfcommWithServiceRecord.
因此,在Windows上的Microsoft堆栈上,通过套接字(winsock)使用蓝牙(RFCOMM).通过默认情况下该连接不会不要求身份验证(配对),也没有加密-其实要求AUTH/ENC必须设置一个套接字选项.与Widcomm类似,您可以指定何时创建所需的安全级别,并且可以为"无".同样在Bluetopia上,类似于Linux上的BlueZ.
所以,如果你用我的图书馆32feet.NET,只需使用BluetoothClient和BluetoothListener,做不设置cli.Authenticate=true等等:-)
你的最终目标是什么?我刚刚意识到你在另一个问题中询问文件传输...... :-)
无论如何于传输文本...在服务器端有类似的代码显示在:http://32feet.codeplex.com/wikipage?title=Bluetooth%20Server-side和喜欢的客户端:HTTP://32feet.codeplex .com/wikipage?title = General%20Bluetooth%20Data%20Connections 不知道你是否知道.NET上的TextWriter/-Reader子类,无论如何:
....
var wtr = new StreamWriter(peerStream);
wtr.WriteLine("hello");
wtr.Flush();
Run Code Online (Sandbox Code Playgroud)
另一方面:
....
var wtr = new StreamReader(peerStream);
var line = wtr.ReadLine();
MessageBox.Show(line);
Run Code Online (Sandbox Code Playgroud)
BluetoothChat中的代码几乎就是这样的.
艾伦
| 归档时间: |
|
| 查看次数: |
13200 次 |
| 最近记录: |