一、实验目的及要求
目的:掌握JAVA网络编程的基本概念
掌握套接字及其结合多线程的基本应用
掌握UDP数据报的基本应用
掌握广播数据报的基本应用
二、实验内容及基本步骤:
实验内容:JAVA网络通信的基本应用
实验基本步骤:
1、编写程序获取Internet上主机的地址
JAVA中可以利用net类库中的类实现网络功能,依据题目要求,编写代码如下:
2、利用套接字编写程序,实现客户端向服务器发送三段信息,服务器一一给出应答的功能
编写服务器类,具体代码如下所示:
编写客户端类,具体代码如下所示:
运行程序,观察运行结果。
3、编写程序实现利用客户端输入圆半径,在服务器端计算圆面积,并发回客户端的功能
从套接字连接中读取数据与从文件中读取数据有区别,尽管两者都是采用输入流,但从文件中读取数据时,所有的数据都已经在文件中了,而使用套接字连接的时候,可能在另一端把数据发送出来之前,就已经开始试着读取了,这时就会阻塞本线程,直到该读取方法成功读取到信息,本线程才继续执行后续的操作。因此,服务器收到一个客户端的套接字后,就应该启动一个专门为该客户服务的线程。
依照此思路,编写代码如下:
编写服务器端主程序Server.java,在Server类中设置主方法main:
编写类ServerThread,实现服务器端的多线程,具体代码如下
在之前的main方法中添加代码:
编写客户端程序:
编写利用多线程读取信息的类Read.java
编写客户端主程序,实现通信,具体代码如下:
运行程序,观察运行结果。
三、实验遇到的问题及心得