C#编程连接蓝牙设备文件收发Word文件下载.docx
- 文档编号:22027110
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:10
- 大小:113.60KB
C#编程连接蓝牙设备文件收发Word文件下载.docx
《C#编程连接蓝牙设备文件收发Word文件下载.docx》由会员分享,可在线阅读,更多相关《C#编程连接蓝牙设备文件收发Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
HciRevision:
bluetoothRadio.HciRevision);
13.
HciVersion:
bluetoothRadio.HciVersion);
14.
LmpSubversion:
bluetoothRadio.LmpSubversion);
15.
LmpVersion:
bluetoothRadio.LmpVersion);
16.
LocalAddress:
bluetoothRadio.LocalAddress);
17.
Manufacturer:
bluetoothRadio.Manufacturer);
18.
Mode:
bluetoothRadio.Mode);
19.
Name:
bluetoothRadio.Name);
20.
Remote:
bluetoothRadio.Remote);
21.
SoftwareManufacturer:
bluetoothRadio.SoftwareManufacturer);
22.
StackFactory:
bluetoothRadio.StackFactory);
23.
24.
Console.ReadKey();
25.}
如果PC插入了蓝牙适配器,便会显示蓝牙相关信息:
然后我们就要利用蓝牙收发文件了:
前提是蓝牙设备(如手机)已经和PC配对了
1.public
partial
class
Form1
:
Form
radio
null;
//蓝牙适配器
string
sendFileName
//发送文件名
BluetoothAddress
sendAddress
//发送目的地址
ObexListener
listener
//监听器
recDir
//接受文件存放目录
Thread
listenThread,
sendThread;
//发送/接收线程
public
Form1()
InitializeComponent();
//获取当前PC的蓝牙适配器
CheckForIllegalCrossThreadCalls
false;
//不检查跨线程调用
(radio
null)//检查该电脑蓝牙是否可用
MessageBox.Show("
这个电脑蓝牙不可用!
提示"
MessageBoxButtons.OK,
MessageBoxIcon.Information);
Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
labelRecDir.Text
recDir;
private
buttonSelectBluetooth_Click(object
sender,
EventArgs
e)//选择远程蓝牙设备
25.
SelectBluetoothDeviceDialog
dialog
new
SelectBluetoothDeviceDialog();
26.
dialog.ShowRemembered
true;
//显示已经记住的蓝牙设备
27.
dialog.ShowAuthenticated
//显示认证过的蓝牙设备
28.
dialog.ShowUnknown
//显示位置蓝牙设备
29.
(dialog.ShowDialog()
DialogResult.OK)
30.
31.
dialog.SelectedDevice.DeviceAddress;
//获取选择的远程蓝牙地址
32.
labelAddress.Text
地址:
sendAddress.ToString()
设备名:
dialog.SelectedDevice.DeviceName;
33.
34.
35.
36.
buttonSelectFile_Click(object
e)//选择要发送的本地文件
37.
38.
OpenFileDialog
OpenFileDialog();
39.
40.
41.
dialog.FileName;
//设置文件名
42.
labelPath.Text
Path.GetFileName(sendFileName);
43.
44.
45.
46.
buttonSend_Click(object
e)//发送按钮
47.
48.
sendThread
Thread(sendFile);
//开启发送文件线程
49.
sendThread.Start();
50.
51.
52.
sendFile()//发送文件方法
53.
54.
ObexWebRequest
request
ObexWebRequest(sendAddress,
Path.GetFileName(sendFileName));
//创建网络请求
55.
WebResponse
response
56.
try
57.
58.
buttonSend.Enabled
59.
request.ReadFile(sendFileName);
//发送文件
60.
labelInfo.Text
开始发送!
;
61.
request.GetResponse();
//获取回应
62.
发送完成!
63.
64.
catch
(System.Exception
ex)
65.
66.
发送失败!
MessageBoxIcon.Warning);
67.
发送失败!
68.
69.
finally
70.
71.
(response
!
72.
73.
response.Close();
74.
75.
76.
77.
78.
79.
buttonselectRecDir_Click(object
e)//选择接受目录
80.
81.
FolderBrowserDialog
FolderBrowserDialog();
82.
dialog.Description
请选择蓝牙接收文件的存放路径"
83.
84.
85.
dialog.SelectedPath;
86.
87.
88.
89.
90.
buttonListen_Click(object
e)//开始/停止监听
91.
92.
(listener
null
||
listener.IsListening)
93.
94.
radio.Mode
RadioMode.Discoverable;
//设置本地蓝牙可被检测
95.
ObexListener(ObexTransport.Bluetooth);
//创建监听
96.
listener.Start();
97.
(listener.IsListening)
98.
99.
buttonListen.Text
停止"
100.
labelRecInfo.Text
开始监听"
101.
listenThread
Thread(receiveFile);
//开启监听线程
102.
listenThread.Start();
103.
104.
105.
106.
107.
listener.Stop();
108.
监听"
109.
停止监听"
110.
111.
112.
113.
receiveFile()//收文件方法
114.
115.
ObexListenerContext
context
116.
ObexListenerRequest
117.
while
118.
119.
listener.GetContext();
//获取监听上下文
120.
(context
121.
122.
break;
123.
124.
context.Request;
//获取请求
125.
uriString
Uri.UnescapeDataString(request.RawUrl);
//将uri转换成字符串
126.
recFileName
uriString;
127.
request.WriteFile(recFileName);
//接收文件
128.
收到文件"
uriString.TrimStart(new
char[]
'
/'
});
129.
130.
131.
132.
Form1_FormClosed(object
FormClosedEventArgs
e)
133.
134.
(sendThread
135.
136.
sendThread.Abort();
137.
138.
(listenThread
139.
140.
listenThread.Abort();
141.
142.
&
143.
144.
145.
146.
147.}
程序界面:
SelectBluetoothDeviceDialog是一个InTheHand.Net.Personal提供的窗体,用于选择蓝牙设备:
从手机往电脑发送文件需要在电脑上开启监听ObexListener,才能收到文件。
核心代码:
1.BluetoothRadio
2.string
3.BluetoothAddress
4.ObexListener
5.string
6.Thread
8.radio
10.//关于蓝牙设备选择对话框
11.SelectBluetoothDeviceDialog
12.dialog.ShowRemembered
13.dialog.ShowAuthenticated
14.dialog.ShowUnknown
15.sendAddress
17.//发送文件操作
18.ObexWebRequest
19.WebResponse
20.request.ReadFile(sendFileName);
21.response
22.response.Close();
24.//接收文件
25.radio.Mode
26.listener
27.listener.Start();
28.listener.Stop();
30.ObexListenerContext
31.ObexListenerRequest
32.context
33.request
34.string
35.string
36.request.WriteFile(recFileName);
37.labelRecInfo.Text
end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 编程 连接 蓝牙 设备 文件 收发