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