青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

引用自:http://www.sf.org.cn/Article/symbiandev/200509/183.html

如何尋找和連接到遠程設備

當一個應用程序連接到遠程設備以便應用其某個服務時,我們需要幾個步驟:首先看看是否有想要與之通信的設備。然后察看所需要的服務是否可用。最后,應用程序需要進行連接,另外可能還需要進行些安全措施

下面幾個主題將依次介紹相關步驟:

選擇遠程設備的方法
如何查詢遠程設備

如何查詢遠程設備上的服務

如何同遠程設備連接和傳輸數據

如何在外連的套接字上應用安全措施

選擇遠程設備的方法

一個應用程序能通過下列方法決定哪個遠程設備是他通信的對象:

·         固定的連接

·         實現存儲的配置

·         由用戶選擇

·         程序自動決定

上面每一個都可能由它合適的情況。前兩個方法中,遠端設備的地址只需要簡單的從存儲出取出。而第三種方法則普遍在藍牙UI中提供。

最后一種程序自動選擇遠程設備中,可能在下列情況中應用:

·         為用戶提供可定制的設備選擇UI

·         在某些特別情況下選擇設備,比如“選擇最空閑的LAN接入點”

如何查詢遠程設備
每個藍牙設備在其硬件中都有唯一的48位地址。一個范圍內基本的設備查詢將返回零或幾個此類地址。

除了這個地址,藍牙設備也還有一個文本名字顯示給用戶。如果你希望顯示可用設備的列表給用戶,你也要獲取這些名字以便顯示。

如果底層硬件支持,地址和名字也可以同時被查詢。否則,地址的查詢必須在名字查詢請求發送前完成

泛化套接字類RhostResolver用來完成地址和設備名的查詢。另外TinquirySockAddr為專門的藍牙套接字地址類,里面封裝了藍牙地址,查詢入口代碼,用來提供相關查詢的服務和設備類。

獲得遠程設備的地址
下面步驟用來查詢遠程設備的地址:

1.    連接到套接字服務器(RSocketServ),然后用RSocketServ::FindProtocol()選擇使用的協議。由于名字和地址的查詢由堆棧的BTLinkManager協議層支持,所以選擇它。

2.    創建并初始化一個RhostResolver對象。

3.    設置TinquirySockAddr參數以便查詢:對于地址查詢, KHostResInquiry標志需要通過TInquirySockAddr::SetAction()設置好。

然后可以通過RHostResolver::GetByAddress()開始查詢。

如何查詢遠程設備的服務
一個遠程設備可以有一個或者多個藍牙服務提供者。服務的廣泛指示器可以從設備的類中讀出。這樣可以用來選擇合適的設備圖標現實給用戶。這個設備的類可以在查詢地址后用TInquirySockAddr::MajorClassOfDevice()獲得。

在特定環境,設備的類提供的粗級別的服務發現并不能滿足對設備的選擇條件。這樣,這樣,服務發現請求可以用來判斷是否為適合的選擇。但只有在必需的時后才應該應用,因為它需要一些額外時間來對每個設備進行SDP請求。SDP請求通過藍牙發現代理API來進行。

如何同遠程設備連接和傳輸數據
一旦設備和服務確定了,你就能夠連接到遠程設備并開始使用了

通過泛化的Symbian OS套接字借口RsocketConnect()函數連接到設備。藍牙套接字可以用L2CAPRFCOMM協議打開。對于一個L2CAP藍牙套接字,端口(port)是用來連接的協議/服務多路復用器 (PSM);對于RFCOMM,端口是服務器頻道。如果這些值不知道,可以通過讀取服務屬性ProtocolDescriptorList來獲得。詳情參見使用藍牙服務發現代理

你能夠通過套接字使用目標服務期望的格式讀寫數據(AT指令,文本,HTTP,PPP等)

舉例:
// Assume have a TInquirySockAddr object, addr, with relevant device info

// Connect an L2CAP socket
RSocket socket;
TRequestStatus status;
User::LeaveIfError(socket.Open(socketServ,KBTAddrFamily,KSockSeqPacket,KL2CAP));
User::LeaveIfError(socket.Connect(addr,status));
User::WaitForRequest(status);

if (status == KErrNone)
    {
    // Write some simple data
    _LIT8(KDataToWrite,"01234");
    socket.Write(KDataToWrite,status);
    User::WaitForRequest(status);
    }

// Close socket
socket.Close();

注意:
·         對于RFCOMML2CAP協議,沒有數據可以在Connect() Shutdown() 調用中送出,否則會導致獲得額外數據的錯誤。

·         RFCOMM使用流套接字類型(KSockStream)。

·         L2CAP使用序列包的套接字類型 (KsockSeqPacket)。

如何在外連的套接字上應用安全措施
對于一個外連接(outgoing connection),默認情況下藍牙堆棧不會由具體的安全措施。如果遠程設備需要認證或編碼連接,那堆棧會直接體現到應用程序。

有時候,本地程序也需要保證認證或編碼連接??梢詫?SPAN lang=EN-US>RSocket用控制操作(ioctls)來認證(ioctl KHCIAuthRequestIoctl) 或者編碼 (KHCIEncryptIoctl) 連接。

舉例
下面的例子就將對認證請求應用了ioctl

// Assume have an opened L2CAP RSocket object, socket
socket.Ioctl(KHCIAuthRequestIoctl, status, NULL, KSolBtHCI);
User::WaitForRequest(status);
if (status==KErrNone)
    {
    \\ Success...

ps: 偶也在學習中,如有錯誤請多指教。

posted on 2006-02-25 05:15 移動開發 閱讀(720) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            日韩亚洲欧美高清| 国产欧美精品日韩精品| 久久综合伊人77777尤物| 日韩视频在线一区二区| 狠狠色综合网| 韩国一区二区三区美女美女秀| 国产欧美精品一区二区三区介绍| 国产精品大全| 在线一区视频| 亚洲精品影视| 亚洲精品影视在线观看| 亚洲免费精品| 亚洲免费视频在线观看| 午夜视频精品| 西瓜成人精品人成网站| 久久精品日产第一区二区三区 | 国产精品国产三级国产aⅴ浪潮| 欧美日韩不卡合集视频| 欧美性大战xxxxx久久久| 国产精品看片资源| 国产日韩精品一区二区三区 | 羞羞答答国产精品www一本 | 亚洲国产美女久久久久| 免费观看30秒视频久久| 欧美国产精品人人做人人爱| 亚洲欧洲一区二区天堂久久 | 亚洲最新中文字幕| 久久岛国电影| 欧美激情视频在线免费观看 欧美视频免费一 | 一区二区三区三区在线| 欧美亚洲专区| 欧美激情中文不卡| 亚洲图片欧美一区| 老司机午夜免费精品视频| 欧美经典一区二区三区| 国产免费亚洲高清| 99国产欧美久久久精品| 久久久久久伊人| 在线综合欧美| 欧美激情一区| 好看的av在线不卡观看| 亚洲制服av| 欧美成人第一页| 亚洲欧美日韩综合aⅴ视频| 欧美国产日韩一区二区在线观看| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲黑丝在线| 久久亚洲电影| 西瓜成人精品人成网站| 久久亚洲国产精品日日av夜夜| 亚洲精品欧美激情| 影音先锋久久久| 午夜天堂精品久久久久| 亚洲国产免费| 久久夜色精品国产噜噜av| 国产精品永久免费在线| 亚洲午夜影视影院在线观看| 亚洲第一中文字幕| 久久国产精品第一页| 国产精品av久久久久久麻豆网 | 在线精品高清中文字幕| 久久国产一二区| 一区二区三区视频在线播放| 欧美成人tv| 亚洲精品久久7777| 欧美1区免费| 欧美中文字幕在线| 国产一级久久| 久久乐国产精品| 久久精品一本久久99精品| 国产精品视频网址| 欧美亚洲免费电影| 亚洲欧美视频一区二区三区| 国产精品视频成人| 欧美在线中文字幕| 香蕉久久a毛片| 欧美成人综合网站| 亚洲国产精品一区二区www在线| 久久综合伊人77777麻豆| 久久福利毛片| 永久免费视频成人| 欧美激情第4页| 欧美激情视频给我| 亚洲综合大片69999| 亚洲视频一区二区在线观看| 欧美日韩国产色视频| 亚洲视频网在线直播| 亚洲香蕉在线观看| 国产精品乱码妇女bbbb| 性欧美video另类hd性玩具| 亚洲一区综合| 国产精品久久毛片a| 欧美在线一区二区| 免费精品99久久国产综合精品| 精品动漫av| 亚洲欧洲精品一区二区三区| 欧美日本韩国在线| 亚洲欧美国产毛片在线| 亚洲精品美女在线观看播放| 欧美小视频在线观看| 久久久久女教师免费一区| 欧美成人精品激情在线观看| 亚洲午夜羞羞片| 欧美在线观看视频在线| 亚洲国内高清视频| 国产精品99久久久久久宅男| 韩日欧美一区| 一区二区三区 在线观看视| 国产日韩欧美中文在线播放| 久久久久久欧美| 亚洲第一精品福利| 亚洲激情电影在线| 欧美日韩中文在线| 久久久www| 欧美国产亚洲视频| 亚洲午夜av在线| 久久精品日韩| 亚洲在线成人| 国产精品青草综合久久久久99| 亚洲午夜久久久久久久久电影院| 欧美一区亚洲二区| 激情久久久久久| 欧美va天堂| 亚洲视频综合在线| 久久久夜精品| 一个色综合av| 国产精品一页| 欧美国产高潮xxxx1819| 一区二区三区四区五区视频| 久久久久88色偷偷免费| 亚洲高清视频中文字幕| 欧美日韩国产在线观看| 亚洲专区国产精品| 欧美国产欧美综合| 午夜一区二区三区不卡视频| 亚洲电影免费观看高清完整版在线观看| 猛干欧美女孩| 亚洲免费视频网站| 欧美激情久久久久久| 亚洲一区二区在线播放| 永久域名在线精品| 国产精品你懂的在线| 欧美一区二区三区电影在线观看| 亚洲大胆av| 国产精品一区二区三区乱码| 久久精品国产亚洲a| 亚洲免费观看高清在线观看 | 亚洲欧美综合精品久久成人| 一区二区免费在线播放| 久久狠狠亚洲综合| 欧美高清视频免费观看| 日韩午夜三级在线| 久久久夜色精品亚洲| 曰韩精品一区二区| 一二三区精品福利视频| 欧美成人免费观看| 韩国精品在线观看| 在线中文字幕一区| 免费成人你懂的| 黑丝一区二区三区| 久久久久亚洲综合| 午夜亚洲性色福利视频| 久久国产福利国产秒拍| 国产精品99久久久久久白浆小说| 欧美片在线观看| 久久夜色精品一区| 欧美大秀在线观看| 免费成人高清| 欧美自拍偷拍| 合欧美一区二区三区| 久久精品日产第一区二区三区| 制服丝袜激情欧洲亚洲| 国产精品手机视频| 欧美一区二视频在线免费观看| 亚洲一级在线观看| 一区二区免费在线观看| 免费欧美在线视频| 久久久久成人精品| 欧美不卡福利| 性做久久久久久久免费看| 亚洲免费av电影| 欧美日本二区| 美女精品自拍一二三四| 日韩亚洲在线| 午夜精品久久久久久久蜜桃app | 午夜精品视频在线| 亚洲日本va午夜在线电影| 亚洲蜜桃精久久久久久久| 亚洲免费电影在线观看| 亚洲二区免费| 一区二区三区 在线观看视频| 国产精品捆绑调教| 国产精品第三页| 欧美资源在线| 亚洲高清在线观看| 欧美黄色一级视频| 欲色影视综合吧| 国产精品久久久久久久一区探花| 欧美日韩精品中文字幕| 午夜亚洲福利|