C#开发蓝牙服务端,自动配对以及收发消息
来源:互联网 发布:忘记mac的开机密码 编辑:程序博客网 时间:2024/05/16 08:24
C#开发蓝牙服务端,自动配对以及收发消息
目前.Net平台最好用的蓝牙库是InTheHand.net,是由32feet.net提供的shared-source项目,提供短距离领域(personal area networking technologie)的通信功能,支持bluetooth,Infrared(IrDA)红外等.
//启动一个监听线程Thread listenThread = new Thread(ReceiveData);listenThread.IsBackground = true;listenThread.Start();//监听方法public void ReceiveData(){ while (1 == 1) { try { Guid mGUID = Guid.Parse("db764ac8-4b08-7f25-aafe-59d03c27bae3"); bluetoothListener = new BluetoothListener(mGUID); bluetoothListener.Start(); bluetoothClient = bluetoothListener.AcceptBluetoothClient(); isConnected = true; while (isConnected) { if (bluetoothClient != null && bluetoothClient.Connected) { peerStream = bluetoothClient.GetStream(); } else { break; } byte[] buffer = new byte[100]; peerStream.Read(buffer, 0, 100); receive = Encoding.UTF8.GetString(buffer).ToString(); if (receive == temp) { isConnected = false; } Console.WriteLine(receive + "receiveMsg"); } bluetoothListener.Stop(); bluetoothClient = null; } catch (Exception ex) { Console.Write(ex.Message); } } }
两个while循环是因为我的安卓app没法修改,没有做断开处理,所以强行在服务端断开了。
如果你蓝牙连接着的,并且和电脑配对上了,那用这个方法是可以接受消息的。
那么现在问题来了。
我的windows主机是没有输出设备的,木有显示器,而蓝牙配对有3中方法,其中justwork表示不验证,直接配对,但是客户端代码动不了,inTheHand.net也没有找到怎么设置配对模式。
最后找到蓝牙配对PING码确认的事件,直接把事件注册后,响应通过就行了。
EventHandler<BluetoothWin32AuthenticationEventArgs> handler = new EventHandler<BluetoothWin32AuthenticationEventArgs>(this.handleRequests); BluetoothWin32Authentication authenticator = new BluetoothWin32Authentication(handler);public void handleRequests(Object thing, BluetoothWin32AuthenticationEventArgs args){ args.Confirm = true;}
基本上实现了Windows自动配对。
0 0
- C#开发蓝牙服务端,自动配对以及收发消息
- android蓝牙自动配对
- Android 蓝牙自动配对
- 蓝牙开发经验小结——自动配对
- 蓝牙自动输入配对码
- 蓝牙自动打开并配对
- android 蓝牙自动配对问题
- C#实现smartQQ 扫码登录分析自动收发消息
- c#收发广播消息
- 微信公众号开发自动收发消息
- android修改系统源码之实现蓝牙自动配对以及取消开机锁屏
- android 实现蓝牙自动配对连接
- android蓝牙自动配对的有关问题
- 【转载】Android蓝牙自动配对Demo
- android源码灭屏时蓝牙自动配对
- Android下的蓝牙自动配对
- android 取消蓝牙配对框 实现自动配对
- android 取消蓝牙配对框 实现自动配对
- 字符串的indexof(),substring()和split()的方法
- POJ 1493 Machined Surfaces
- 喝酒
- 集成融云Android SDK实现在群聊/讨论组中@人的功能(二)
- 约瑟夫环扩展问题
- C#开发蓝牙服务端,自动配对以及收发消息
- atlas(keepalived)+mysql(MHA)
- C++第4次实验(求1000以内所有偶数的和)
- C++作业4
- STL总结
- dts
- ios 卡顿,push多次同一个页面
- 各种编码UNICODE、UTF-8、ANSI、ASCII、GB2312、GBK详解
- JDK源码分析之Set类详解——适配器模式的应用