第10章網(wǎng)絡(luò)通信
10.1什么是URL?Java提供哪些與URL有關(guān)的類?
答:URL指定在Internet上的某個(gè)信息資源的地址,包含協(xié)議、主機(jī)、端口和文件名。在Java中提供與URL有關(guān)的類有URLConnection類。
10.2說明URL類與URLConnection類各有什么功能。
答:java.net.URL類表示URL地址,提供獲得URL對(duì)象的協(xié)議名、主機(jī)名、端口號(hào)、文件名、和引用字符串等屬性的方法,URLConnection類的一個(gè)對(duì)象就是Internet上的一個(gè)文件,文件名由URL地址指定,通過該文件對(duì)象可以獲得指定文件的各種屬性。
10.3舉例說明哪些是正確的URL,哪些URL中有錯(cuò)誤。當(dāng)URL中有錯(cuò)誤時(shí),程序會(huì)怎樣?
答:http://www.google.cn、http://localhost:1319/kfsoso/WebUI/Admin_main.html都是正確的URL,http://google.Com、localhost:/kfsoso/WebUI/Admin_main.Html就是錯(cuò)誤的URL。
當(dāng)URL地址有錯(cuò)誤時(shí),拋出MalfromedURLException異常。
10.4什么是Socket通信?它有什么特點(diǎn)?參與Socket通信的主體是誰?
答:Socket通信時(shí)基于TCP連接的兩個(gè)過程之間的端-端通信,TCP連接提供數(shù)據(jù)通信所需的字節(jié)流服務(wù)。特點(diǎn)是Socket通信是雙向的、可靠的。
10.5Socket通信的基礎(chǔ)是什么?Socket通信是單向的還是雙向的?
10.6在Socket通信中,為什么需要指定端口號(hào)?端口號(hào)由誰指定?端口號(hào)的數(shù)據(jù)范圍是怎樣的?能夠使用哪些端口號(hào)?
10.7Java提供哪些類實(shí)現(xiàn)Socket通信?每個(gè)類提供哪些功能?
答:Java提供了ServerSocket類和Socket類,實(shí)現(xiàn)Socket通信。ServerSocket類的功能:提供TCP連接服務(wù)、指定端口號(hào)等待客戶端的連接請(qǐng)求停止客戶端的連接請(qǐng)求;
Socket類的功能:制定主機(jī)地址和端口號(hào),向服務(wù)器發(fā)出連接請(qǐng)求,連接服務(wù)器端和客戶端并進(jìn)行通信,建立字節(jié)輸入/輸出流,進(jìn)行數(shù)據(jù)傳輸。
10.8ServerSocket和Socket類中都有close()方法,兩者有什么不一樣?
答:ServerSocket類的close()方法:停止等候客戶端的連接請(qǐng)求;Server類的close()方法:關(guān)閉TCP連接。