實驗12 網絡編程
一、實驗目的
1.?掌握InetAddress類的使用。
2.?掌握TCP與UDP編程:Socket與Datagram的概念和編程方法。
3.?掌握URL類的使用:URL的概念和編程。
二、實驗要求
??? 通過Socket編程,掌握網絡應用程序的開發方法;完成數據庫的連接;掌握利用Java提供的基本組件進行網絡傳輸;掌握Java提供的多線程機制,異常處理機制和低層對協議的通信機制,通過Socket編程,掌握網絡應用程序的開發方法;設計測試,性能評估。上機練習之前,必須先完成程序的書寫,再上機調試。
三、實驗內容
(一)使用InetAddress類的方法
通過使用InetAddress類的方法,獲取http://www.ytu.edu.cn/的主機的IP地址;獲取本地機的名稱和IP地址。
(二)Socket編程
使用Socket編程,客戶機發送數據到服務器,服務器將接收到的數據返回給客戶機。
(三)UDP編程
使用UDP編程,客戶機發送數據到服務器,服務器將接收到的數據返回給客戶機
(四)獲取URL信息
1.?編寫KY12_1.java 程序文件,源代碼如下。
import java.net.*;
?import java.io.*;
?public class URLTest {
????????? public static void main(String[] args){
???????????? URL url=null;
???????????? InputStream is;
???????????? try{
????????????????? url=new URL("http://localhost/index.html");
????????????????? is=url.openStream();
????????????????? int c;
????????????????? try{
??????????????? while((c=is.read())!=-1)
???????????????????????? System.out.print((char)c);
????????????????? }catch(IOException e){
?}finally{
??????????????????????? is.close();
?}
???????????? }catch(MalformedURLException e){
? e.printStackTrace();
?}catch(IOException e){
???? e.printStackTrace();
?}
??????? System.out.println("文件名:"+url.getFile());
??????? System.out.println("主機名:"+url.getHost());
??????? System.out.println("端口號:"+url.getPort());
??????? System.out.println("協議名:"+url.getProtocol());
?????? }
?}
2.?編譯并運行
(五)利用URL類獲取網絡資源
1.?編寫KY12_2.java 程序文件,源代碼如下。
import java.net.*;
?import java.io.*;
?public class URLReader {
???? public static void main(String[] args) throws Exception {
???????? URL web = new URL("http://166.111.7.250:2222/");
????????????????? BufferedReader in = new BufferedReader(new InputStreamReader(web.openStream()));
?????????????? String inputLine;
?????????????? while ((inputLine = in.readLine()) != null)System.out.println(inputLine);
?????????????? in.close();
???? }
?}
2.?編譯并運行
(六)利用URLConnection對URL資源的讀取
1.?編寫KY12_3.java 程序文件,源代碼如下。
import java.net.*;
?import java.io.*;
?public class URLConnectionReader {
???? public static void main(String[] args) throws Exception {
???????? URL web = new URL("http://166.111.7.250:2222/");
???????? URLConnection webc=web.openConnection();???
?//get an instance of URLConnection
???????? BufferedReader in = new BufferedReader(new InputStreamReader(
????????????????????????? webc.getInputStream()));?????????? //use of URLConnection
???????? String inputLine;
???????? while ((inputLine = in.readLine()) != null) System.out.println(inputLine);
???????? in.close();
???? }
?}
2.?編譯并運行
(七)掌握URLConnection對URL資源的寫入
1.?編寫KY12_4.java 程序文件,源代碼如下。
import java.io.*;
?import java.net.*;
?public class Reverse {
???? public static void main(String[] args) throws Exception {
?????????????? if (args.length != 1) {
????????????????????? System.err.println("Usage:? java Reverse string_to_reverse");
????????????????????? System.exit(1);????
?????????????? }
?????????????? String stringToReverse=args[0];
?????????????? URL url = new URL("http://java.sun.com/cgi-bin/backwards");
?????????????? URLConnection connection = url.openConnection();
?????????????? connection.setDoOutput(true);
?????????????? PrintWriter out = new PrintWriter(connection.getOutputStream());
?????????????? out.println("string=" + stringToReverse);?
?????????????? out.close();
?????????????? BufferedReader in = new BufferedReader(new InputStreamReader(
??????????????????????????????????????????? connection.getInputStream()));
?????????????? String inputLine;
?????????????? while ((inputLine = in.readLine()) != null) System.out.println(inputLine);
?????????????? in.close();
?????????????? }
???? }
2.?編譯并運行
四、思考題
1.?什么是URL?一個URL地址由哪些部分組成?
2.?網絡環境下的C/S模式的基本思想是什么?什么是客戶機?什么是服務器?它們各自的作用如何?C/S模式的基本工作過程如何?
3.?簡述流式Socket的通信機制。它的最大特點是什么?
4.?數據報通信有何特點?簡述Java實現數據報通信的基本工作過程
JAVA網絡編程實驗
- JAVA(102450)
相關推薦
Java網絡編程與分布式計算
本書清晰地介紹了聯網的基本原理,在進行網絡編程時需要掌握的主要概念,以及在聯網時可能遇到的問題和Java的解決方案。同時通過實例來介紹如何運用網絡編程技術在Java平臺上編寫應用程序。本書不僅適合于網絡編程的初學者,而且還適合于有一定網絡編程經驗的程序員。
2016-04-19 09:32:52
8

Java網絡編程與分布式計算 pdf
Java網絡編程與分布式計算清晰地介紹了聯網的基本原理,在進行網絡編程時需要掌握的主要概念,以及在聯網時可能遇到到的問題和Java的解決方案。同時通過實例來介紹如何運用
2008-09-26 23:13:16
137

Java程序設計之Java安全技術網絡編程的詳細資料說明
本文檔詳細介紹的是Java程序設計之Java安全技術網絡編程的詳細資料說明主要內容包括了:1 安全基本知識 ,2 Java的安全模型 ,3 Java的密碼學結構
2019-02-26 14:15:09
6

Java數據庫連接及網絡程序設計
Java數據庫連接及網絡程序設計
一、實驗目的: 通過Socket編程,掌握網絡應用程序的開發方法;完成數據庫的連接;掌握利用Java提供的基本組件進行
2008-12-05 23:56:26
1347

DevEco Studio里的java UI框架有沒有必要做拖拽式編程呢?
DevEco Studio已經支持js UI框架拖拽式編程,你覺得java UI框架有沒有必要做拖拽式編程呢?
2022-05-18 15:32:42
Java程序設計實驗指導書六個實驗詳細資料說明
AWT 及 Swing 應用開發試驗,實驗項目四 Java Applet 及多線程開發實驗,實驗項目五 Java 網絡應用程序開發試驗,實驗項目六 Java 數據庫技術開發實驗,附件 1 《Java 程序設計》課程實驗教學大綱。
2019-05-21 08:00:00
0

評論