一種基于Android和JXTA協(xié)議模型的無線D2D通信技術(shù)
2.4 文件發(fā)送與接收
文件發(fā)送的實(shí)現(xiàn)是利用P2PSocket編寫的程序,可以在任意Peer之間對(duì)等地傳輸文件。該程序通過JXTA管道綁定協(xié)議,由Pipe向遠(yuǎn)程Pee*r發(fā)送文件,文件將以流的形式傳遞通過PipeMsgEvent實(shí)現(xiàn)PipeMsgListener,每次當(dāng)有消息傳送到管道的時(shí)候,事件將被捕獲。通過fileRequest處理共享文件列表的請(qǐng)求,向?qū)Ψ桨l(fā)送包含共享文件名的列表的消息在一個(gè)線程中執(zhí)行一個(gè)循環(huán),通過JXTA網(wǎng)絡(luò)進(jìn)行文件資源廣播,如果得到回應(yīng)就進(jìn)行資源請(qǐng)求確認(rèn),確認(rèn)完成之后調(diào)用this,socket Service.file Transfer()函數(shù)發(fā)送當(dāng)前文件資源。
文件發(fā)送的源代碼如下:
當(dāng)單擊File Share菜單選項(xiàng)時(shí),會(huì)顯示出當(dāng)前網(wǎng)絡(luò)中的節(jié)點(diǎn)所共享的文件,如圖5所示。本文引用地址:http://m.butianyuan.cn/article/154424.htm
當(dāng)用戶可以選中其中的某一個(gè)文件,JXTA網(wǎng)絡(luò)利用Pipe從共享該文件的節(jié)點(diǎn)那里讀取數(shù)據(jù)并存儲(chǔ)在本機(jī)的SD卡上,文件接收的代碼和發(fā)送的類似。
3 結(jié)語
本文研究并設(shè)計(jì)實(shí)現(xiàn)了基于Android操作系統(tǒng),以JXTA協(xié)議為模型,應(yīng)用WiFi網(wǎng)絡(luò)的無線D2D通信系統(tǒng)。該系統(tǒng)能以現(xiàn)有的數(shù)臺(tái)近距離的智能手機(jī)為基礎(chǔ),建立起一個(gè)無線P2P網(wǎng)絡(luò),使得這些用戶之間能夠方便地進(jìn)行通信與資源共享,這將成為諸多用戶豐富自身手機(jī)資源的有效途徑。
p2p機(jī)相關(guān)文章:p2p原理
評(píng)論