第四次考核

码云地址:https://gitee.com/sfr123/fourth_assessment/tree/master

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

要求: 

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

步骤:

服务器创建ServerSocket对象,使用accept()方法,客户端创建Socket对象和服务器连接

客户端代码

import java.net.*;
import java.io.*;
public class Client_Main{
    public static void main (String args[]){
        String [] mess ={"你好"};
        Socket mysocket;
        DataInputStream in=null;
        DataOutputStream out=null;
        try{
            mysocket = new Socket("127.0.0.1",2010);
            in = new DataInputStream(mysocket.getInputStream());
            out = new DataOutputStream(mysocket.getOutputStream());
            for(int i=0;i<mess.length;i++){
                out.writeUTF(mess[i]);
                String s=in.readUTF();
                System.out.println("客户端收到服务器的回答:"+s);
                Thread.sleep(500);
            }
        }
        catch(Exception e){
            System.out.println(" 服务器已断开"+e);
        }
    }
}

服务器

import java.net.*;
import java.io.*;
public class Server_Main{
    public static void main(String args[]){
        String [] answer = {"您好"};
        ServerSocket serverForClient = null;
        Socket socketOnServer = null;
        DataOutputStream out=null;
        DataInputStream in=null;
        try{
            System.out.println("等待客户呼叫");
            socketOnServer = serverForClient.accept();
            out = new DataOutputStream(socketOnServer.getOutputStream());
            in = new DataInputStream(socketOnServer.getInputStream());
            for(int i=0;i<answer.length;i++){
                String s = in.readUTF();
                System.out.println("服务器收到客户的提问:"+s);
                out.writeUTF(answer[i]);
                Thread.sleep(500);
            }
        }
        catch(Exception e){
            System.out.println("客户已断开"+e);
        }
    }
}

代码参考书上来写的,和题目有些不符,然后没写运行结果。知识掌握的不够好,需要多练习。

posted @ 2018-12-14 21:58  adroitse  阅读(130)  评论(0编辑  收藏  举报