JavaSE:在线考试系统(2) - 客户端的初始化、关闭、测试

1.   创建模块(module):ExamSystemClient,用于存放客户端的代码

2.   创建ClientInitClose.java, 用于客户端的初始化、关闭

 

 代码:

 1 package com.lagou.client;
 2 import java.io.IOException;
 3 import java.io.ObjectInputStream;
 4 import java.io.ObjectOutputStream;
 5 import java.net.InetAddress;
 6 import java.net.Socket;
 7 
 8 // 实现客户端的初始化和关闭操作
 9 public class ClientInitClose {
10 
11     private Socket s;
12     private ObjectOutputStream oos;
13     private ObjectInputStream ois;
14 
15     // 定义clientInit()方法, 实现客户端的初始化
16     public void clientInit() throws IOException{
17 
18         // 1. 创建Socket类型的对象, 并指定服务器的通信地址 & 端口号
19         s = new Socket(InetAddress.getLocalHost(), 8888);
20 
21         // 2. 使用输入输出流通信
22         oos = new ObjectOutputStream(s.getOutputStream());
23         ois = new ObjectInputStream(s.getInputStream());
24         System.out.println("客户端已完成初始化 (成功连接服务器)!");
25     }
26 
27     // 定义clientClose()方法, 实现客户端的关闭
28     public void clientClose() throws IOException{
29 
30         // 3. 关闭Socket,并释放有关资源
31         ois.close();
32         oos.close();
33         s.close();
34         System.out.println("客户端成功关闭!");
35     }
36 }

 

2.   创建ClientTest.java, 用于测试客户端的初始化和关闭功能

 

 代码:

 1 package com.lagou.client;
 2 
 3 import java.io.IOException;
 4 
 5 public class ClientTest {
 6 
 7     public static void main(String[] args) {
 8 
 9         ClientInitClose cic = null;
10 
11         try {
12             // 1. 声明ClientInitClose类型的引用,指向该类型的对象
13             cic = new ClientInitClose();
14             // 2. 调用成员方法, 实现客户端的初始化操作
15             cic.clientInit();
16         } catch (IOException e) {
17             e.printStackTrace();
18         } finally {
19             // 3. 调用成员方法, 实现客户端的关闭操作
20             try {
21                 cic.clientClose();
22             } catch (IOException e) {
23                 e.printStackTrace();
24             }
25         }
26     }
27 }

运行效果:

 

 

与此同时:

 

posted @ 2021-07-05 13:56  Jasper2003  阅读(234)  评论(0编辑  收藏  举报