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