資源描述:
《Compact Framework的進(jìn)行藍(lán)牙(Bluetooth)廣播程序的》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、WindowsMoible,Wince使用.NETCompactFramework的進(jìn)行藍(lán)牙(Bluetooth)廣播程序的開發(fā)簡述本文講述如何使用32feet.NET實現(xiàn)Bluetooth的廣播程序,同時演示了Broadcomstack在WindowsMobilie下的實現(xiàn)。背景在.NETCompactFramework下的Bluetooth開發(fā)之32feet.NET?的反饋中?camper9999?同學(xué)希望實現(xiàn)藍(lán)牙廣播的功能,本文就是一個基于32feet.NET藍(lán)牙廣播的實現(xiàn)。sammylp?的
2、提出代碼掛死問題,其實是使用過程的不恰當(dāng)造成的,本文演示如何使用線程防止UI線程的掛起,程序的假死。另外一個同學(xué)(不好意思忘記哪位了)問32feet.NET是否支持Broadcomstack,所以本文的實現(xiàn)運(yùn)行于安裝Broadcomstack的windowsmobile中。感謝各位的反饋,現(xiàn)在盡量在一篇文章中回答。關(guān)于Bluetooth開發(fā)的也可以參考以下其他文章:.NETCompactFramework下的Bluetooth開發(fā)之WindowsEmbeddedSourceToolsforBluet
3、ooth.NETCompactFramework下的Bluetooth開發(fā)之32feet.NET.NETCompactFramework下的Bluetooth開發(fā)之BluetoothVirtualSerialPort.NETCompactFramework下的Bluetooth設(shè)備的配對30Daysof.NET[WindowsMobileApplications]-Day02:BluetoothManager(藍(lán)牙管理器)什么是廣播所謂廣播就是消息發(fā)送方向公眾(public)發(fā)送信息的過程,廣播有一
4、個主要的特點是消息發(fā)送方不需要知道消息接收方的存在?,F(xiàn)實生活中廣播的例子如收音機(jī)廣播,GPS衛(wèi)星廣播,以太網(wǎng)同網(wǎng)段數(shù)據(jù)包的廣播等等??墒撬^藍(lán)牙廣播其實不算嚴(yán)格下的廣播,因為藍(lán)牙通信過程中有發(fā)現(xiàn),配對,甚至驗證過程,所以通信雙方是需要握手的,沒辦法實現(xiàn)嚴(yán)格意義上的廣播。本文例子實現(xiàn)了一個通過注冊訂閱方式的組播過程(MultiCast)。?實現(xiàn)服務(wù)端服務(wù)端負(fù)責(zé)監(jiān)聽和注冊服務(wù),同時把消息發(fā)送到已經(jīng)注冊的設(shè)備去。在例子中服務(wù)端使用PC實現(xiàn),其實可以使用WindowsMobilie作為服務(wù)端,32feet.
5、net庫基本兼容PC和CE。taobhttp://ban86.comtbwhttp://tbwtbwtaob.com防曬霜排行榜www.zhenzhushop.com防曬霜排行榜9強(qiáng)http://duleina.com防曬霜熱賣排行榜10強(qiáng)www.fujialou.com防曬霜排行榜http://kaoruan.comfs.fujialou.comfs.kaoruan.comfs.yipinfenxiang.com2juu.comwww.5dpet.comijize.comwww.lllib.com
6、tntwl.comwww.tttbk.comtaob.haogougu.com成員定義privateBluetoothListenerlistener;privateboollistening=true;privateListclientList=newList();privateSystem.Threading.ThreadlistenThread;privateSystem.Threading.ThreadbroadcastTh
7、read;listener負(fù)責(zé)監(jiān)聽服務(wù),clientList存放已經(jīng)注冊的設(shè)備,listenThread負(fù)責(zé)監(jiān)聽的線程,broadcastThread負(fù)責(zé)廣播的線程。啟動服務(wù)BluetoothRadioradio=BluetoothRadio.PrimaryRadio;if(radio==null){WriteMessage("Noradiohardwareorunsupportedsoftwarestack");return;}//Enablediscoverablemoderadio.Mode=
8、RadioMode.Discoverable;WriteMessage("RadioName:"+radio.Name);WriteMessage("RadioAddress:"+radio.LocalAddress);WriteMessage("RadioModenow:"+radio.Mode.ToString());listener=newBluetoothListener(BluetoothService.SerialPort);listener.Start(