第四次过程性考核

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

*160120 

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

要求: 

  • 1.客户端从控制台进行输入,并将客户端的输出内容和时间保存到“学号.txt”文件中
  • 2.服务器端读取到客户端的程序后,给客户端以回应,并将客户端的输入内容与服务端的输出内容、时间保存到文本文件中
  • 3.要求服务器端可以实现同时与多个客户端进行通信,与每一个客户端通信的内容,保存为一个“学号_ip.txt”的文件
  • 4.4.提交文件结果包括:代码,通信后生成的txt文件

客户端:

 1 import java.net.*;
 2 import java.io.*;
 3 public class Client_Main{
 4   public static void main (String args[]){
 5     String [] mess ={"你好"};
 6     Socket mysocket;
 7     DataInputStream in=null;
 8     DataOutputStream out=null;
 9     try{
10          mysocket = new Socket("127.0.0.1",2010);
11          in = new DataInputStream(mysocket.getInputStream());
12          out = new DataOutputStream(mysocket.getOutputStream());
13          for(int i=0;i<mess.length;i++){
14                 out.writeUTF(mess[i]);
15                 String s=in.readUTF();
16                 System.out.println("客户端收到服务器的回答:"+s);
17                 Thread.sleep(500);
18             }
19 }
20 catch(Exception e){
21         System.out.println(" 服务器已断开"+e);
22      }
23    }
24 }

服务器端:

 1 import java.net.*;
 2 import java.io.*;
 3 public class Server_Main{
 4     public static void main(String args[]){
 5         String [] answer = {"您好"};
 6         ServerSocket serverForClient = null;
 7         Socket socketOnServer = null;
 8         DataOutputStream out=null;
 9         DataInputStream in=null;
10         try{
11             System.out.println("等待客户呼叫");
12             socketOnServer = serverForClient.accept();
13             out = new DataOutputStream(socketOnServer.getOutputStream());
14             in = new DataInputStream(socketOnServer.getInputStream());
15             for(int i=0;i<answer.length;i++){
16                 String s = in.readUTF();
17                 System.out.println("服务器收到客户的提问:"+s);
18                 out.writeUTF(answer[i]);
19                 Thread.sleep(500);
20     }
21 }
22 catch(Exception e){
23     System.out.println("客户已断开"+e);
24   }
25 }
26 }

 

运行结果:错误

思路:先让客户端和服务器先通,然后写日志

知识点:使用多线程,套接字

总结:总体感觉自我不太良好,有很多的知识点需要牢记,大部分都是在书上寻找的代码。

博客字数

200
代码行数 50

 

posted @ 2018-12-15 19:16  阿bi  阅读(120)  评论(0编辑  收藏  举报