基于JXTA的P2P遠程學(xué)習系統的設計與實(shí)現
(2)Teaeher類(lèi)該類(lèi)代表系統中的TP,負責為T(mén)P設置JXTA環(huán)境以及建立到MP的通信連接,并完成在學(xué)習系統中教師的功能。主要方法有:?jiǎn)?dòng) JXTA環(huán)境startJXTA(),發(fā)現教務(wù)對等節點(diǎn)在線(xiàn)狀態(tài)discoverManagerPipeAdv(),創(chuàng )建連接到MP的管道 createManagerPipes()、發(fā)布TP節點(diǎn)的在線(xiàn)狀態(tài)pub-lishTeacherPipeAdv(),創(chuàng )建發(fā)送會(huì )話(huà)消息到MP的通信通道createTeaeherInputPipe()、MP確認TP發(fā)送的答案accept()、創(chuàng )建新會(huì )話(huà)requestNewSession()、讀取TP的輸入getUserRe-sponse()、獲取TP對MP的響應sendToManager()、問(wèn)題信息處理processMessage ()、獲取對等節點(diǎn)問(wèn)傳輸信息中的文本字符串getElementValue()、建立與MP節點(diǎn)的連接connectMan-ager()、斷開(kāi)與MP 節點(diǎn)之間的連接disconnectManager()、請求一個(gè)新會(huì )話(huà)run()和運行主方法main()等。另外,Teacher類(lèi)的main()方法中還定義一個(gè)InputPipeMsgListener類(lèi)實(shí)現PipeMsgListener接口來(lái)獲得管道中的消息。
(3)Student類(lèi)該類(lèi)代表系統中的SP,負責為SP設置JXTA環(huán)境以及建立與TP的通信連接,并完成在學(xué)習系統中學(xué)生的功能。主要方法有:?jiǎn)?dòng)JXTA環(huán)境 startJXTA(),發(fā)現教師對等節點(diǎn)在線(xiàn)狀態(tài)discoverTeacherPipeAdv(),創(chuàng )建連接到,TP的管道 createTeacherPipes()、發(fā)布SP節點(diǎn)的在線(xiàn)狀態(tài)publishStudentPipeAdv(),創(chuàng )建發(fā)送問(wèn)題答案到TP的通信通道 createStudentInputPipe()、TP確認SP發(fā)送的答案accept()、創(chuàng )建新會(huì )話(huà)requestNewSession()、讀取 SP的輸入getUserRe-sponse()、獲取SP對TP的響應sendToTeacher()、問(wèn)題信息處理processMessage ()、獲取對等節點(diǎn)間傳輸信息中的文本字符串getElementValue()、建立與TP節點(diǎn)的連接connectTeacher()、斷開(kāi)與TP節點(diǎn)之間的連接disconnectTeacher()、請求一個(gè)新會(huì )話(huà)run()和運行主方法main()等。
(4)Agent類(lèi)該類(lèi)負責收集問(wèn)題和答案,對學(xué)生對等節點(diǎn)收集的答案進(jìn)行評估響應,并在“問(wèn)題――答案”會(huì )話(huà)結束后根據該學(xué)生的回答給出相應的學(xué)習建議。主要方法有:?jiǎn)?wèn)題和答案集合創(chuàng )建initProblems(),獲得發(fā)送問(wèn)題的總數get-TotalNumberOf Questions(),為SP提供下一個(gè)問(wèn)題get-NextProblem(),處理答案processAnswer(),接收最后一個(gè)答案 getLastAnswer()、判斷問(wèn)題是否結束hasMoreProblems(),獲得正確答案總數getTotalAnswersCorrect ()和獲得學(xué)習建議getSuggestions()等。此外,Agent類(lèi)還定義了一個(gè)Problem類(lèi)。這個(gè)類(lèi)使用了三個(gè)方法:獲得特定問(wèn)題編號的 getNumber()方法、獲得問(wèn)題內容的getQuestion()方法和獲得問(wèn)題答案的getAnswer()方法。
(5)AgentFactory類(lèi) 該類(lèi)主要負責創(chuàng )建Agent對象。主要方法有:獲得Agent對象(getAgent)。系統開(kāi)發(fā)完成后,進(jìn)行了各種功能測試,證明該系統均能順利完成工作。本文引用地址:http://dyxdggzs.com/article/188597.htm
4 結束語(yǔ)
JXTA項目使得P2P應用程序的開(kāi)發(fā)者能將一個(gè)應用程序中與P2P相關(guān)的特定功能交給JXTA去實(shí)現,大大提高了P2P應用程序的開(kāi)發(fā)效率。
同時(shí),由于JXTA是一個(gè)開(kāi)放源代碼項目,可以根據自己的需要進(jìn)行適當修改,使得所開(kāi)發(fā)的應用程序具有高可擴展性。與傳統的分布式系統相比,P2P與JXTA技術(shù)具有無(wú)可比擬的優(yōu)勢,將它們引入遠程教育應用系統開(kāi)發(fā)有著(zhù)廣闊的應用前景。
這里在分析了JXTA的體系結構及核心協(xié)議后,利用JXTA技術(shù)設計和開(kāi)發(fā)了一個(gè)簡(jiǎn)單的并且具有可擴展、互操作性強及高可用性的P2P遠程學(xué)習系統。通過(guò)該系統,學(xué)生可以更充分更有效地利用遠程教學(xué)過(guò)程中的共享資料進(jìn)行自主學(xué)習,更加方便學(xué)生和教師之間的交流,提高學(xué)生的學(xué)習積極性,促進(jìn)學(xué)生學(xué)習成績(jì)的提高;同時(shí)也有利于教師在教育過(guò)程中角色的轉變,使教師從課堂主講人轉向學(xué)生學(xué)習的組織者和指導者,幫助輔導學(xué)生進(jìn)行自主學(xué)習,提高學(xué)生的學(xué)習水平。
p2p機相關(guān)文章:p2p原理
評論