<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 一種基于A(yíng)ndroid和JXTA協(xié)議模型的無(wú)線(xiàn)D2D通信技術(shù)

一種基于A(yíng)ndroid和JXTA協(xié)議模型的無(wú)線(xiàn)D2D通信技術(shù)

作者: 時(shí)間:2012-07-16 來(lái)源:網(wǎng)絡(luò ) 收藏

2.2 節點(diǎn)搜索功能
該功能主要用于對網(wǎng)絡(luò )上的Peer節點(diǎn)進(jìn)行搜索,維護一個(gè)節點(diǎn)列表。該搜索程序通過(guò)對等機發(fā)現PDP(Peer Discovery Protoc ol)進(jìn)行節點(diǎn)搜索,PDP定義了發(fā)現其他Peer和資源的,該包括兩個(gè)方面:一方面用于請求獲得其他Peer的Advertisement;另一方面用于響應其他Peer的這種請求。Peer給所有已知的Peer和Rendezvous Peer發(fā)送一個(gè)Discovery Query Message,Rendezvous Peer對Discove ry請求進(jìn)行處理,并返回一個(gè)Discovery Response Message,其中包含其緩存中advertisement。另外它還把這個(gè)請求廣播給所有知道的Pe er,收到請求的Peer搜索本地緩存尋找匹配advertisement,如果找到,就直接給最初的請求方發(fā)送一個(gè)Discovery Response Message。該程序運行在一個(gè)線(xiàn)程中,在該線(xiàn)程中執行一個(gè)循環(huán),每隔30 s獲取一次節點(diǎn)列表。節點(diǎn)搜索線(xiàn)程代碼如下:
e.JPG
f.JPG
當用戶(hù)單擊Peer List菜單選項時(shí),Peer節點(diǎn)從RDV集合點(diǎn)讀取節點(diǎn)列表,并顯示在相應的UI界面中,如圖4所示。

本文引用地址:http://dyxdggzs.com/article/154424.htm

i.JPG


而網(wǎng)絡(luò )節點(diǎn)列表收集主要完成啟動(dòng)并初始化網(wǎng)絡(luò ),形成一個(gè)網(wǎng)絡(luò )集合點(diǎn)Rendezvous Peer,集合點(diǎn)服務(wù)的主要功能是允許Peer網(wǎng)絡(luò )上的其他Peer傳播消息。該集合點(diǎn)可以監聽(tīng)到所有相鄰網(wǎng)絡(luò )請求連接的Peer節點(diǎn),包括PC機模擬節點(diǎn)和手機節點(diǎn),通過(guò)一個(gè)節點(diǎn)列表對當前節點(diǎn)的信息進(jìn)行維護,接收節點(diǎn)的連接與退出請求。當用戶(hù)單擊Leave Network要離開(kāi)網(wǎng)絡(luò )時(shí),必須通過(guò)advertisement通知RDV節點(diǎn),此時(shí)RDV節點(diǎn)就可以更新所擁有的節點(diǎn)列表,當其他節點(diǎn)下一次從RDV節點(diǎn)讀取節點(diǎn)列表信息時(shí),就可以及時(shí)地更新在線(xiàn)的節點(diǎn)。
集合點(diǎn)類(lèi)的設計主要是通過(guò)集合點(diǎn)協(xié)議RVP(Rendezvous Protocol),簡(jiǎn)單Peer運用該協(xié)議同集合點(diǎn)相連接,由集合點(diǎn)代表自己向其他Peer傳播消息。RVP的實(shí)現扮演雙重角色,為傳播消息提供了統一的API,該功能不依賴(lài)Peer是否配置成集合點(diǎn)。
2.3 通信模塊的設計
通信模塊采用雙向管道進(jìn)行消息傳輸。當用戶(hù)登錄之后,啟動(dòng)一個(gè)線(xiàn)程,在線(xiàn)程里創(chuàng )建JxtaServerPipe,不停輪詢(xún),等待其他用戶(hù)發(fā)來(lái)的消息。當用戶(hù)A想與用戶(hù)B聊天時(shí),只要建立一個(gè)到用戶(hù)B的JxtaBiDiPipe,該JxtaBiDiPipe和用戶(hù)B的JxtaServerPipe進(jìn)行連接。聊天消息是用XML進(jìn)行封裝的,不同的消息可以定義不同的命名空間,以便接收端進(jìn)行區別。而且一條消息可以包含多部分信息,比如區分消息的版本、消息發(fā)送者名字等等。接收端對接收到的消息進(jìn)行解析處理,然后顯示到聊天對話(huà)界面里。
信息發(fā)送的源代碼(信息接收的實(shí)現類(lèi)似)如下:
g.JPG

p2p機相關(guān)文章:p2p原理




評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>