九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

第11章Java中的網(wǎng)絡(luò)編程

上傳人:fgh****35 文檔編號:247446396 上傳時間:2024-10-18 格式:PPT 頁數(shù):37 大?。?94.50KB
收藏 版權(quán)申訴 舉報 下載
第11章Java中的網(wǎng)絡(luò)編程_第1頁
第1頁 / 共37頁
第11章Java中的網(wǎng)絡(luò)編程_第2頁
第2頁 / 共37頁
第11章Java中的網(wǎng)絡(luò)編程_第3頁
第3頁 / 共37頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《第11章Java中的網(wǎng)絡(luò)編程》由會員分享,可在線閱讀,更多相關(guān)《第11章Java中的網(wǎng)絡(luò)編程(37頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、單擊此處編輯母版標題樣式,*,*,*,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,第,11,章,Java,中的網(wǎng)絡(luò)編程,1.URL,類,2.,讀取,URL,中的資源,3.,顯示,URL,資源中的,HTML,文件,4.,處理超鏈接,5.InetAddress,類,6.,套接字,Socket,7.,使用多線程處理套接字連接,8.UDP,數(shù)據(jù)報,9.,廣播數(shù)據(jù)包,11.1 URL類,包中的,URL,類是對統(tǒng)一資源定位符,(Uniform Resource Locator),的抽象,使用,URL,創(chuàng)建對象的應(yīng)用程序稱作客戶端程序,一個,URL,對象存放著一個具體的資源的引用,表明客戶要訪

2、問這個,URL,中的資源,利用,URL,對象可以獲取,URL,中的資源。一個,URL,對象通常包含最基本的三部分信息:協(xié)議、地址、資源。協(xié)議必須是,URL,對象所在的,Java,虛擬機支持的協(xié)議,許多協(xié)議并不為所常用,而常用的,Http,、,Ftp,、,file,協(xié)議都是虛擬機支持的協(xié)議;地址必須是能連接的有效,IP,地址或域名;資源可以是主機上的任何一個文件。,1,URL,的構(gòu)造方法,public URL(String spec) throws Malformed,URLException,該構(gòu)造方法使用字符串初始化一個,URL,對象,例如,try,url,=new,URL(,);,catc

3、h(MalformedURLExceptione,),System.out.println(BadURL:+url,);,該,URL,對象使用的協(xié)議是“,Http”,協(xié)議,即用戶按著這種協(xié)議和指定的服務(wù)器通信,該,URL,對象包含的地址是“,”,,,所包含的資源是默認的資源,(,主頁,),。,public URL(String protocol,String host,String file)throws Malformed,URLException,該構(gòu)造方法構(gòu)造的,URL,對象的協(xié)議、地址和資源分別由參數(shù),protocol,、,host,和,file,指定。,11.2,讀取,URL,中的資

4、源,URL,對象調(diào)用,InputStream,openStream,(),方法可以返回一個輸入流,該輸入流指向,URL,對象所包含的資源。通過該輸入流可以將服務(wù)器上的資源信息讀入到客戶端。,例,11-1,在一個文本框中輸入網(wǎng)址,然后點擊確定按鈕讀取服務(wù)器上的資源,由于網(wǎng)絡(luò)速度或其它的因素,,URL,資源的讀取可能會引起堵塞,因此,程序需在一個線程中讀取,URL,資源,以免堵塞主線程。,11.3,顯示,URL,資源中的,html,文件,可以將,http:/,的主頁的內(nèi)容顯示在文本區(qū)中,但是,想看到網(wǎng)頁的運行效果。,Javax.swing,包中的,JEditorPane,類可以解釋執(zhí)行,html,

5、文件,也就是說,如果把,html,文件讀入到,JEditorPane,,該,html,文件就會被解釋執(zhí)行,,顯示在,JEditorPane,中,這樣程序就看到了網(wǎng)頁,的運行效果。,可以使用,JEditorPane,類的構(gòu)造方法,public,JEditorPane,(),public,JEditorPane(URL,initialPage)throws,IOException,public,JEditorPane(String,url,) throws,IOException,構(gòu)造,JEditorPane,對象,后兩個構(gòu)造方法使用參數(shù),initialPage,或,url,指定該對象最初顯示的,

6、URL,中的資源。,JEditorPane,對象調(diào)用,public void,setPage(URLpage,) throws,IOException,法可以顯示新的,URL,中的資源。,例,11-2,中,用,JEditorPane,對象顯示網(wǎng)頁。,11.4,處理超鏈接,當(dāng),JEditorPane,對象調(diào)用,setEditable,方法將編輯屬性設(shè)為,false,時,不僅可以顯示網(wǎng)頁的運行效果,而且用戶如果單擊網(wǎng)頁中超鏈接還可以使得,JEditorPane,對象觸發(fā),HyperlinkEvent,事件。程序可以通過處理,HyperlinkEvent,事件,來顯示新的,URL,資源。,JEdit

7、orPane,對象調(diào)用,addHyperlinkListener(HyperlinkListenerlistener,),獲得監(jiān)視器。監(jiān)視器需實現(xiàn),HyperlinkListener,接口,該接口中的方法是:,voidhyperlinkUpdate(HyperlinkEvente,),在,例,11-3,中,當(dāng)單擊超鏈接時,,JEditorPane,對象將顯示超鏈接所鏈接的網(wǎng)頁。,11.5,InetAdress,類,Internet,上的主機有兩種方式表示地址:,(1),域名例如,,(2)IP,地址例如,,202.108.35.210,包中的,InetAddress,類對象含有一個,Intern

8、et,主機地址的域名和,IP,地址:, UDP,數(shù)據(jù)報,基于,UDP,通信的基本模式是,(1),將數(shù)據(jù)打包,稱為數(shù)據(jù)包,(,好比將信件裝入信封一樣,),,然后將數(shù)據(jù)包發(fā)往目的地。,(2),接受別人發(fā)來的數(shù)據(jù)包,(,好比接收信封一樣,),,然后查看數(shù)據(jù)包中的內(nèi)容。,1,發(fā)送數(shù)據(jù),(1),創(chuàng)建,DatagramPacket,對象,首先用,DatagramPacket,類將數(shù)據(jù)打包,即用,DatagramPacket,類創(chuàng)建一個對象,稱為數(shù)據(jù)包。,用,DatagramPacket,的以下兩個構(gòu)造方法創(chuàng)建待發(fā)送的數(shù)據(jù)包:,DatagramPacket(bytedata,intlength,InetAd

9、dtressaddress,intport)DatagramPack(bytedata,intoffset,intlength,InetAddtressaddress,intport,),使用構(gòu)造方法創(chuàng)建的數(shù)據(jù)包對象具有下列兩個性質(zhì):,含有,data,數(shù)組指定的數(shù)據(jù)。,該數(shù)據(jù)包將發(fā)送到地址是,address,、,端口號是,port,的主機上。,稱,address,是它的目標地址、,port,是這個數(shù)據(jù)包的目標端口號。其中,第,2,個構(gòu)造方法創(chuàng)建的數(shù)據(jù)包對象含有數(shù)組,data,從,offset,開始指定長度的數(shù)據(jù)。,例如:,bytedata,=,近來好嗎,.,getByte();InetAddt

10、ressaddress,=,InetAddtress.getName();DatagramPacketdata_pack,=newDatagramPacket(data,data.length,address,980);,2),發(fā)送數(shù)據(jù),用,DatagramSocket,類的不帶參數(shù)的構(gòu)造方法:,DatagramSocket,(),創(chuàng)建一個對象,該對象負責(zé)發(fā)送數(shù)據(jù)包。例如,,DatagramSocketmail_out,=,newDatagramSocket,();,mail_out.send(data_pack);,2,接收數(shù)據(jù),DatagramSocket,類另一個構(gòu)造方法:,Datagr

11、amSocket(intport,),創(chuàng)建一個對象,其中的參數(shù)必須和待接收的數(shù)據(jù)包的端口號相同。例如,如果發(fā)送方發(fā)送的數(shù)據(jù)包的端口號是,5666,:,DatagramSocketmail_in,=newDatagramSocket(5666);,該對象,mail_in,使用方法,receive(DatagramPacketpack,接受數(shù)據(jù)包。該方法有一個數(shù)據(jù)包參數(shù),pack,,,方法,receive,把收到的數(shù)據(jù)包傳遞給該參數(shù)。因,此必須預(yù)備一個數(shù)據(jù)包以便收取數(shù)據(jù)包。這時需使用,DatagramPack,類的另外一個構(gòu)造方法:,DatagramPack(byte,data,intlength

12、,),創(chuàng)建一個數(shù)據(jù)包,用于接收數(shù)據(jù)包,例如:,bytedata,=newbyte100;intlength=90;,DatagramPacketpack,=new,DatagramPacket(data,length,);,mail_in.receive(pack);,該數(shù)據(jù)包,pack,將接收長度是,length,的數(shù)據(jù)放入,data,。,在,例,11-7,中兩個主機,(,可用本地機模擬,),互相發(fā)送和接收數(shù)據(jù)包。,11.9,廣播數(shù)據(jù)包,廣播數(shù)據(jù)包類似于電臺廣播,進行廣播的電臺需在指定的波段和頻率上廣播信息,接收者只有將收音機調(diào)到指定的波段、頻率上才能收聽到廣播的內(nèi)容。廣播數(shù)據(jù)包涉及到地址和

13、端口。,Internet,的地址是,a.b.c.d,的形式。該地址的一部分代表用戶自己主機,而另一部分代表用戶所在的網(wǎng)絡(luò)。當(dāng),a,小于,128,,那么,b.c.d,就用來表示主機,這類地址稱做,A,類地址。如果,a,大于等于,128,并且小于,192,,則,a.b,表示網(wǎng)絡(luò)地址,而,c.d,表示主機地址,這類地址稱做,B,類地址。如果,a,大于等于,192,,則網(wǎng)絡(luò)地址是,a.b.c,,,d,表示主機地址,這類地址稱做,C,類地址。,224.0.0.0,與,239.255.255.255,之間的地址稱做,D,類地址,,D,類地址并不代表某個特定主機的位置,一,個具有,A,、,B,或,C,類地址

14、的主機要廣播數(shù)據(jù)或接收廣播,都必須加入到同一個,D,類地址。一個,D,類地址也稱做一個組播地址,加入到同一個組播地址的主機可以在某個端口上廣播信息,也可以在某個端口號上接收信息。準備廣播或接收的主機需經(jīng)過下列步驟:,1.,設(shè)置組播地址,使用,InetAddress,類創(chuàng)建組播組地址,如,InetAddressgroup,=InetAddress.getByName(239.255.8.0);,2,創(chuàng)建多點廣播套接字,使用,MulticastSocket,類創(chuàng)建一個,多點廣播套接字對象。,MulticastSocket,的構(gòu)造方法:,publicMulticastSocket(intport)t

15、hrowsIOException,創(chuàng)建的多點廣播套接字可以在參數(shù)指定的端口上廣播。,3,設(shè)置廣播的范圍,準備廣播的主機必須讓多點廣播套接字,(,MulticastSocket,),對象,調(diào)用,publicvoidsetTimeToLive(intttl)throwsIOException,4,加入組播組,準備廣播或接收的主機必須讓多點廣播套接字,(,MulticastSocket,),對象,調(diào)用,publicvoidjoinGroup(InetAddressmcastaddr)throwsIOException,方法加入組播組。多點廣播套接字,(,MulticastSocket,),對象,調(diào)用

16、,publicvoidleaveGroup(InetAddressmcastaddr)throwsIOException,方法可以離開已經(jīng)加入的組播組。,5,廣播數(shù)據(jù)和接收數(shù)據(jù),進行廣播的主機可以讓多點廣播套接字,(,MulticastSocket,),對象,調(diào)用,publicvoidsend(DatagramPacketp)throwsIOException,將參數(shù),p,指定的數(shù)據(jù)包廣播到組播組中的其它主機。接收廣播的主機可以讓多點廣播套接字,(,MulticastSocket,),對象,調(diào)用,publicvoidreceive(DatagramPacketp)throwsIOException,在例子中,一個主機不斷地重復(fù)廣播奧運會新聞,加入到同一組的主機都可以隨時接收廣播的信息。接收者將正在接收的信息放入一個文本區(qū),把已接收到的全部信息放入另一個文本區(qū)。,(1),廣播數(shù)據(jù)包的主機,(2),接收數(shù)據(jù)包的主機,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!