模拟用户登录作业

服务端要求:接收来自客户端的信息,并和预设数据进行匹配,将匹配的结果信息返回到客户端。
客户端要求:发送信息给服务器,并接受来自服务端的信息。
这里并没有其他要求,最简单的写法

预设用户数据类

	public class User{
		private String number = null;
	}
	public void setNumber(String number){
		this.number = number;
	}
	public String getNumber(){
		return this.number;
	}
	public number(String number){
		this.number = number;
	}

服务端

	public class ServerDemo {
	int port  = 8080;
	ServerSocket  ss  = new ServerSocket(port);
	Socket so = ss.accept();
	BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream(),"UTF-8"));
	PrintWriter pr = new PrintWriter(new OutputStreamReader(so.getOuputStream(),"UTF-8"),true)
	
		User user = new User("6);
		String mess = null;
		while((mess=br.readLine()) != null && !"end".equals(str)){
			System.out.println("我是服务器,客户端登录信息为:" + mess);
			if(user.getNumber.equals(mess)){
				pr.println("存在该用户,登录成功!");
				System.out.println("存在该用户,登录成功!");
			}else{
				pr.println("对不起,没有该用户,已通知客户端登录失败");
				System.out.println("不存在该用户,登录失败,已经通知客户端!");
			}
			pr.println("end");
			pr.flush();
		}
		
		pr.flush();
		if(pr != null){
			pr.close();
		}
		if(br != null){
			br.close();
		}
		if(so != null){
			so.close();
		}
		if(ss != null){
			ss.close();
		}
}

客户端

public class Client {
	String host = " localhost";
	int port = 8080;
	Socket so = Socket(host,port);
	BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream(),"UTF-8"));
	PrintWriter pr = new PrintWriter(new OutputStreamReader(so.getOuputStream(),"UTF-8"),true)
	pr.println("6");
	
//	发送一个约定结束标识符,表示客户端的数据已经发送完成!
	pr.println("end");
	pr.flush();
	String mess = null
	
	while((mess = readLine()) != null && !"end".equals(mess)){
		System.out.println(" 我是客户端:服务器的响应为:" + mess)
	}
	
	if(pr != null){
		pr.close();
	}
	if(br != null){
		br.close();
	}
	if(so != null){
		so.close();
	}
}

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42754261/article/details/88360099