一、实验目的及要求

目的:掌握JAVA网络编程的基本概念

      掌握套接字及其结合多线程的基本应用

      掌握UDP数据报的基本应用

      掌握广播数据报的基本应用

二、实验内容及基本步骤:

实验内容:JAVA网络通信的基本应用

实验基本步骤:

1、编写程序获取Internet上主机的地址

   JAVA中可以利用net类库中的类实现网络功能,依据题目要求,编写代码如下:

JAVA网络编程课程试卷 java实验网络编程_开发语言

2、利用套接字编写程序,实现客户端向服务器发送三段信息,服务器一一给出应答的功能

编写服务器类,具体代码如下所示:

JAVA网络编程课程试卷 java实验网络编程_java_02

 

 编写客户端类,具体代码如下所示:

JAVA网络编程课程试卷 java实验网络编程_JAVA网络编程课程试卷_03

运行程序,观察运行结果。

3、编写程序实现利用客户端输入圆半径,在服务器端计算圆面积,并发回客户端的功能

    从套接字连接中读取数据与从文件中读取数据有区别,尽管两者都是采用输入流,但从文件中读取数据时,所有的数据都已经在文件中了,而使用套接字连接的时候,可能在另一端把数据发送出来之前,就已经开始试着读取了,这时就会阻塞本线程,直到该读取方法成功读取到信息,本线程才继续执行后续的操作。因此,服务器收到一个客户端的套接字后,就应该启动一个专门为该客户服务的线程。

      依照此思路,编写代码如下:

编写服务器端主程序Server.java,在Server类中设置主方法main:

JAVA网络编程课程试卷 java实验网络编程_java_04

编写类ServerThread,实现服务器端的多线程,具体代码如下

JAVA网络编程课程试卷 java实验网络编程_算法_05

 

在之前的main方法中添加代码:

JAVA网络编程课程试卷 java实验网络编程_算法_06

 

编写客户端程序:

编写利用多线程读取信息的类Read.java

JAVA网络编程课程试卷 java实验网络编程_java_07

编写客户端主程序,实现通信,具体代码如下:

JAVA网络编程课程试卷 java实验网络编程_JAVA网络编程课程试卷_08

 

运行程序,观察运行结果。

三、实验遇到的问题及心得