欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

客户端实现蓝牙接收(C#)知识总结

程序员文章站 2023-11-27 09:12:40
在实现蓝牙接收时,网上的资料很多,使用起来也很简单,但是我觉得还是有必要把这些知识总结下来。蓝牙开发需要用到一个第三方的库inthehand.net.personal.dl...
在实现蓝牙接收时,网上的资料很多,使用起来也很简单,但是我觉得还是有必要把这些知识总结下来。蓝牙开发需要用到一个第三方的库inthehand.net.personal.dll,其中关键的两个类是 bluetoothclient 和 bluetoothlistener,首先开启一个子线程来不断的接收数据,使用很简单,直接上代码:
复制代码 代码如下:

using inthehand.net.sockets;
using system.threading;
   public mainwindow()
{
initializecomponent();
     listenthread = new thread(receivedata);
listenthread.start();
}
private void receivedata()
   {
try
{
guid mguid = guid.parse("00001101-0000-1000-8000-00805f9b34fb");
bluetoothlistener = new bluetoothlistener(mguid);
     bluetoothlistener.start();
      bluetoothclient = bluetoothlistener.acceptbluetoothclient();
     isconnected = true;
     }
     catch (exception)
     {
       isconnected = false;   
     }
   while (isconnected)
    {
      string receive = string.empty;
      if (bluetoothclient == null)
      {
         break;
      }
       try
      {
         peerstream = bluetoothclient.getstream();
byte[] buffer = new byte[6];
        peerstream.read(buffer, 0, 6);
         receive = encoding.utf8.getstring(buffer).tostring();
      }     
      catch (system.exception)
      {
      }
      thread.sleep(100);
    }
}
bluetoothclient bluetoothclient;
bluetoothlistener bluetoothlistener;
thread listenthread;
bool isconnected;

备注:发现用两个手机跟电脑配对成功后,两个手机同时连上pc端软件,一起发数据的话,pc端谁的也不接,暂时不下结论。