第四次过程性考核

码云:https://gitee.com/happywindmannn/fourth_process_assessment/tree/master

使用套接写连接编写一个简单的聊天室程序,客户端主函数放在Client_Main.java文件中,服务器端主函数放在Server_Main.java文件中

   要求:

         1.客户端从控制台进行输入,并将客户端的输出内容和时间保存到“学号.txt”文件中

         2.服务器端读取到客户端的程序后,给客户端以回应,并将客户端的输入内容与服务端的输出内容、时间保存到文本文件中

         3.要求服务器端可以实现同时与多个客户端进行通信,与每一个客户端通信的内容,保存为一个“学号_ip.txt”的文件

    4..提交文件结果包括:代码,通信后生成的txt文件

客户端:

 1 import java.io.File;
 2 import java.io.PrintWriter;
 3 import java.net.Socket;
 4 import java.util.Scanner;
 5 public class  Client_Main{ 
 6     private PrintWriter writer;
 7         Socket socket; 
 8         private void client() { 
 9             System.out.println("尝试连接\n");
10             File file =new File("16012019.txt");
11             try { 
12                 socket = new Socket("10.43.11.121", 8080); 
13                 writer = new PrintWriter(socket.getOutputStream(), true);
14                System.out.println("完成连接");
15                Scanner sc=new Scanner(socket.getInputStream());
16                System.out.println(sc.nextLine());
17                System.out.println("我(客户机):");
18                Scanner sc1=new Scanner(System.in);
19                while(true){
20                    String data=sc1.nextLine();
21                    writer.println(data);
22                    writer.flush();
23                    String data1=sc.nextLine();
24                    System.out.println("服务机:"+data1);
25                    System.out.println("我(客户机):");
26                }
27             } catch (Exception e) {
28                 e.printStackTrace(); 
29             }
30         }
31         
32         public static void main(String[] args) { 
33             Client_Main clien = new Client_Main(); 
34 
35             clien.client();
36         }
37  }

服务器端:

 1 import java.io.File;
 2 import java.io.PrintWriter;
 3 import java.net.ServerSocket;
 4 import java.net.Socket;
 5 import java.util.Scanner;
 6 public class Server_main{
 7     private PrintWriter writer;
 8     private ServerSocket server; 
 9     private Socket socket; 
10     void serve() {
11         try {
12             server = new ServerSocket(8080); 
13             System.out.println("服务器套接字已经创建成功"); 
14             while (true) { 
15                 System.out.println("等待客户机的连接......."); 
16                 socket = server.accept(); 
17                 writer = new PrintWriter(socket.getOutputStream(), true);
18                 writer.println("您已成功连接到远程服务器!"+"/"+"有什么可以帮你的吗?");
19                 writer.flush();
20                 Scanner sc=new  Scanner(System.in);
21                 Scanner sc1=new Scanner(socket.getInputStream());
22                 while(true){
23                     String data = sc1.nextLine();
24                     System.out.println("客户机:"+data);
25                     System.out.print("我(服务机):");
26                     String data1 = sc.nextLine();
27                     writer.println(data1);
28                     writer.flush();
29                     Scanner write=new Scanner(System.in);
30                     int ip =write.nextByte();
31                     File file =new File("16012019_ip.txt");
32             }
33             }
34         } catch (Exception e) {
35             e.printStackTrace(); 
36         }
37     }   
38     public static void main(String[] args) { 
39         Server_main tcp = new Server_main(); 
40         tcp.serve(); 
41     }

总结:此次代码没有很好的完成的多线程任务,所以没有运行结果

posted on 2018-12-15 19:58  沙雕网友  阅读(175)  评论(1编辑  收藏  举报