当前位置: 首页 > news >正文

C#发送文件到蓝牙设备

测试环境:

visual studio 2022

win11笔记本电脑,具有蓝牙功能

.net6控制台

测试步骤如下:

1 新增名为BluetoothDemo控制台项目

2 通过nuget安装InTheHand.Net.Bluetooth,版本选择4.2.1和安装InTheHand.Net.Obex,版本选择4.1.0,如下图:

3  在程序的bin/Debug目录下新增一个名为test.txt的文本文件,内容随便填点东西

4 在主程序中编辑代码如下:

using InTheHand.Net.Obex;
using InTheHand.Net.Bluetooth;
using InTheHand.Net.Sockets;
using System.Text;
using InTheHand.Net;using (var client = new BluetoothClient())
{// 搜索附近的蓝牙设备var devices = client.DiscoverDevices();foreach (var device in devices){Console.WriteLine($"Name: {device.DeviceName}, Address: {device.DeviceAddress}");}
}//从前面的扫描蓝牙设备中获取到的设备地址
string deviceAddress = "3839CDC9171A";
BluetoothAddress address = BluetoothAddress.Parse(deviceAddress);
Guid serviceClass = BluetoothService.ObexObjectPush;
//在程序的bin/Debug目录下新增一个test.txt文件
string filePath = "test.txt"; Uri uri = new Uri($"obex://{deviceAddress}/{System.IO.Path.GetFileName(filePath)}");ObexWebRequest request = new ObexWebRequest(uri);
request.ReadFile(filePath);using (ObexWebResponse response = (ObexWebResponse)request.GetResponse())
{if (response.StatusCode == (ObexStatusCode.OK|ObexStatusCode.Final)){Console.WriteLine("文件发送成功");}else{Console.WriteLine("文件发送失败: " + response.StatusCode);}
}Console.WriteLine("Hello, World!");

上述代码中的地址deviceAddress根据实际情况填写

程序运行结果如下:

上面的iOOO Z9x是我的手机设备上的蓝牙名称,可以看到已经发送文件到我的手机了

http://www.dtcms.com/a/193258.html

相关文章:

  • 【实战篇】低代码报表开发——平台运营日报表的开发实录
  • Spring 框架 JDBC 模板技术详解
  • SQL实战:06交叉日期打折问题求解
  • 解密企业级大模型智能体Agentic AI 关键技术:MCP、A2A、Reasoning LLMs- MCP内幕解析
  • 观QFramework框架底层逻辑有感
  • 经典卷积神经网络
  • Secs/Gem第四讲(基于secs4net项目的ChatGpt介绍)
  • 开源免费iOS或macOS安装虚拟机运行window/Linux系统
  • Qt中控件的Viewport作用
  • 服务器连接多客户端
  • 文章复现|(1)整合scRNA-seq 和空间转录组学揭示了子宫内膜癌中 MDK-NCL 依赖性免疫抑制环境
  • 数据结构中双栈的实现方法分享
  • PH热榜 | 2025-05-15
  • 解码生命语言:深度学习模型TranslationAI揭示RNA翻译新规则
  • Quic如何实现udp可靠传输
  • 缓存的相关内容
  • 该如何了解联排半孔的使用规范?
  • FPGA: UltraScale+ bitslip实现(ISERDESE3)
  • 2025年长三角+山东省赛+ 认证杯二阶段资料助攻说明
  • 快速搭建一个electron-vite项目
  • 套路化编程:C# winform ListView 自定义排序
  • 学习笔记:黑马程序员JavaWeb开发教程(2025.4.4)
  • MySQL DBA数据运维管理经验分享:新手入门快速提升效率的新工具与技巧
  • NuGet程序包还原失败
  • 智能包装机控制终端技术方案:基于EFISH-SCB-RK3588/SAIL-RK3588的全场景国产化替代解析
  • Docker 安装 MySQL8
  • 【iOS】源码阅读(四)——isa与类关联的原理
  • Vue 学习随笔系列二十三 -- el-date-picker 组件
  • Inventor 转 STP 全攻略:软件操作与迪威模型在线转换推荐
  • 从零开始创建一个 Next.js 项目并实现一个 TodoList 示例