久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Windows系統(tǒng)中使用C#編寫藍(lán)牙通信程序的簡單實(shí)例

 昵稱45649787 2017-12-07
public partial class Form1 : Form
{
  BluetoothRadio radio = null;//藍(lán)牙適配器
  string sendFileName = null;//發(fā)送文件名
  BluetoothAddress sendAddress = null;//發(fā)送目的地址
  ObexListener listener = null;//監(jiān)聽器
  string recDir = null;//接受文件存放目錄
  Thread listenThread, sendThread;//發(fā)送/接收線程
  
  public Form1()
  {
    InitializeComponent();
    radio = BluetoothRadio.PrimaryRadio;//獲取當(dāng)前PC的藍(lán)牙適配器
    CheckForIllegalCrossThreadCalls = false;//不檢查跨線程調(diào)用
    if (radio == null)//檢查該電腦藍(lán)牙是否可用
    {
      MessageBox.Show("這個(gè)電腦藍(lán)牙不可用,!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    recDir = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
    labelRecDir.Text = recDir;
  }
  
  private void buttonSelectBluetooth_Click(object sender, EventArgs e)//選擇遠(yuǎn)程藍(lán)牙設(shè)備
  {
    SelectBluetoothDeviceDialog dialog = new SelectBluetoothDeviceDialog();
    dialog.ShowRemembered = true;//顯示已經(jīng)記住的藍(lán)牙設(shè)備
    dialog.ShowAuthenticated = true;//顯示認(rèn)證過的藍(lán)牙設(shè)備
    dialog.ShowUnknown = true;//顯示位置藍(lán)牙設(shè)備
    if (dialog.ShowDialog() == DialogResult.OK)
    {
      sendAddress = dialog.SelectedDevice.DeviceAddress;//獲取選擇的遠(yuǎn)程藍(lán)牙地址
      labelAddress.Text = "地址:" + sendAddress.ToString() + "  設(shè)備名:" + dialog.SelectedDevice.DeviceName;
    }
  }
  
  private void buttonSelectFile_Click(object sender, EventArgs e)//選擇要發(fā)送的本地文件
  {
    OpenFileDialog dialog = new OpenFileDialog();
    if (dialog.ShowDialog() == DialogResult.OK)
    {
      sendFileName = dialog.FileName;//設(shè)置文件名
      labelPath.Text = Path.GetFileName(sendFileName);
    }
  }
  
  private void buttonSend_Click(object sender, EventArgs e)//發(fā)送按鈕
  {
    sendThread = new Thread(sendFile);//開啟發(fā)送文件線程
    sendThread.Start();
  }
  
  private void sendFile()//發(fā)送文件方法
  {
    ObexWebRequest request = new ObexWebRequest(sendAddress, Path.GetFileName(sendFileName));//創(chuàng)建網(wǎng)絡(luò)請求
    WebResponse response = null;
    try
    {
      buttonSend.Enabled = false;
      request.ReadFile(sendFileName);//發(fā)送文件
      labelInfo.Text = "開始發(fā)送!";
      response = request.GetResponse();//獲取回應(yīng)
      labelInfo.Text = "發(fā)送完成!";
    }
    catch (System.Exception ex)
    {
      MessageBox.Show("發(fā)送失?。?, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
      labelInfo.Text = "發(fā)送失敗!";
    }
    finally
    {
      if (response != null)
      {
        response.Close();
        buttonSend.Enabled = true;
      }
    }
  }
  
  private void buttonselectRecDir_Click(object sender, EventArgs e)//選擇接受目錄
  {
    FolderBrowserDialog dialog = new FolderBrowserDialog();
    dialog.Description = "請選擇藍(lán)牙接收文件的存放路徑";
    if (dialog.ShowDialog() == DialogResult.OK)
    {
      recDir = dialog.SelectedPath;
      labelRecDir.Text = recDir;
    }
  }
  
  private void buttonListen_Click(object sender, EventArgs e)//開始/停止監(jiān)聽
  {
    if (listener == null || !listener.IsListening)
    {
      radio.Mode = RadioMode.Discoverable;//設(shè)置本地藍(lán)牙可被檢測
      listener = new ObexListener(ObexTransport.Bluetooth);//創(chuàng)建監(jiān)聽
      listener.Start();
      if (listener.IsListening)
      {
        buttonListen.Text = "停止";
        labelRecInfo.Text = "開始監(jiān)聽";
        listenThread = new Thread(receiveFile);//開啟監(jiān)聽線程
        listenThread.Start();
      }
    }
    else
    
      listener.Stop();
      buttonListen.Text = "監(jiān)聽";
      labelRecInfo.Text = "停止監(jiān)聽";
    }
  }
  
  private void receiveFile()//收文件方法
  {
    ObexListenerContext context = null;
    ObexListenerRequest request = null;
    while (listener.IsListening)
    {
      context = listener.GetContext();//獲取監(jiān)聽上下文
      if (context == null)
      {
        break;
      }
      request = context.Request;//獲取請求
      string uriString = Uri.UnescapeDataString(request.RawUrl);//將uri轉(zhuǎn)換成字符串
      string recFileName = recDir + uriString;
      request.WriteFile(recFileName);//接收文件
      labelRecInfo.Text = "收到文件" + uriString.TrimStart(new char[] { '/' });
    }
  }
  
  private void Form1_FormClosed(object sender, FormClosedEventArgs e)
  {
    if (sendThread != null)
    {
      sendThread.Abort();
    }
    if (listenThread != null)
    {
      listenThread.Abort();
    }
    if (listener != null && listener.IsListening)
    {
      listener.Stop();
    }
  }
}

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多