`
阅读更多
一、实验目的
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语言和MyEclipse开发环境实现一个即时聊天工具。实验中,我们运用了Socket网络编程技术,旨在创建一...

    Java网络编程实验报告.pdf

    "Java网络编程实验报告" 本实验报告主要介绍了Java网络编程的基本概念和实现方法,通过设计和实现一个简单的客户端/服务器应用程序,了解Java网络编程的基本原理和实现方法。 知识点1:Java 网络编程基础 Java ...

    计算机网络实验SOCKET编程

    计算机网络实验SOCKET编程 计算机网络实验SOCKET编程是计算机网络领域中的一门重要实验课程,旨在让学生掌握计算机网络的基本概念和编程技术。本资源摘要信息将对计算机网络实验SOCKET编程的知识点进行详细的介绍和...

    Java网络编程实验

    Java网络编程是Java开发中的重要领域,涉及到网络数据传输、多线程、并发处理等...通过这六个实验,学习者不仅可以掌握Java网络编程的基本技术,还能了解并实践网络编程中的核心概念,为未来开发网络应用打下坚实基础。

    网络编程课程的实验报告

    在本篇网络编程课程的实验报告中,我们将深入探讨三个关键的实验:Socket编程、端口扫描编程以及HTTP编程。这些实验旨在帮助学生理解和掌握网络通信的基础知识,以及如何使用编程语言实现网络功能。 **实验一:...

    java实验7 网络编程

    Java 网络编程实验 本实验主要涉及Java 网络编程的基础知识,包括使用InetAddress类获取主机的IP地址和主机名称,使用Socket和ServerSocket类实现C/S通信。 一、 InetAddress类 InetAddress类是Java中用于表示...

    《网络编程》实验报告案例

    《网络编程》实验报告案例 实验报告是学生在学习网络编程课程时完成的一个重要实验环节,它不仅可以帮助学生巩固理论知识,还能提高学生的实践能力。本次案例以文件上传与下载程序设计实验为例,旨在介绍网络编程...

    网络编程实验代码

    在这个“网络编程实验代码”中,我们可以期待学习到如何使用编程语言实现网络通信的基本概念和技术。 首先,我们要理解网络编程的核心是TCP/IP协议族。TCP(传输控制协议)和IP(互联网协议)是互联网上的两个基本...

    网络编程技术实验报告

    本实验报告将详细探讨网络编程技术如何应用于电子商城网站的设计与实现,旨在揭示网络编程在电子商务领域的实践价值。 1. 需求分析 1.1 电子商城网站的目的和意义 电子商城网站的建立旨在提供一个便捷、高效的在线...

    网络编程实验实验讲义

    网络编程实验旨在帮助学生深入理解网络通信的基本原理和实践技巧,通过实际操作来提升编程能力。实验内容涉及网络服务配置、数据库操作以及Web和Windows应用程序的开发。 首先,实验准备阶段,学生需要设置IIS...

    文件操作和网络编程实验

    ### 文件操作和网络编程实验知识点解析 #### 一、实验目的 本次实验旨在帮助学习者掌握文件读写方法以及网络相关类的使用。具体来说,包括以下两个方面: 1. **文件读写的方法**:通过编写Java程序来实现对文件的...

    python网络编程实验

    总的来说,"Python网络编程实验"是一个非常适合初学者入门的教程,它不仅覆盖了Python的基础知识,还深入到了网络编程的核心概念。通过实践这些实验,你将能够构建自己的网络应用,如聊天服务器、文件传输工具或网络...

    马骏 C#网络应用编程实验指导与开发实例

    《马骏 C#网络应用编程实验指导与开发实例》是一本深入探讨C#语言在网络编程领域的实践教程。这本书旨在帮助读者掌握使用C#进行网络应用开发的核心技术和实战技巧。通过详细的实验指导和丰富的开发实例,读者可以...

    Python网络编程实验报告,实验一、实验二、实验三,附优秀课程设计报告

    Python网络编程实现如下功能: 1、服务器端能够同时为100个客户端提供服务; 2、服务器端使用数据库保存用户帐户、密码和email等信息; 3、服务器端提供FTP服务; 4、服务器端提供消息传递功能 5、客户端提供用户...

    网络编程实验

    网络编程实验 基于流式套接字的网络程序设计是计算机网络领域中一个重要的实验项目,该实验旨在让学生掌握流式套接字编程模型和使用Winsock API。 知识点1:流式套接字编程模型 流式套接字是一种网络编程模型,它...

    java网络编程实验书

    【Java网络编程实验详解】 Java网络编程是Java开发中的重要组成部分,它允许程序通过网络进行数据传输和交互。本实验书主要围绕Java网络编程展开,旨在帮助学生掌握基本的网络通信程序设计,用户界面设计以及服务器...

    实验十二 Linux网络编程 实验报告

    Linux 网络编程实验报告 Linux 网络编程实验报告主要目的是了解套接字编程的主要函数和功能,掌握网络程序的基本结构和设计方法,从而体会 C/S 结构网络程序系统的特点。 知识点一:套接字编程 套接字编程是指在...

    网络编程实验报告.doc

    【网络编程实验报告】 实验名称:网络编程 一、实验目的 本次实验旨在让学生熟悉和掌握网络编程的基本方法和步骤,进一步理解客户端/服务器(client/server)交互模式,以及加深对网络协议概念的理解,包括协议的...

Global site tag (gtag.js) - Google Analytics