服务端
package Net.TCP.Demo3;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.List;
public class ReceiveDemo {
public static void main(String[] args) throws IOException {
ServerSocket ss=new ServerSocket(12000);
Socket s = ss.accept();
// InputStream is = s.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
String usename=br.readLine();
String message=br.readLine();
System.out.println(usename);
System.out.println(message);
boolean flag=false;
// if("wujinchao".equals(usename)&&"10000".equals(message)){
// flag=true;
// }
// BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
User user=new User(usename,message);
List<User> users=UserDB.getUsers();
if (users.contains(user)){
flag=true;
}
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
if (flag){
pw.println("登陆成功");
}
else {
pw.println("登陆失败");
}
s.close();
//ss.close //服务器一般不关闭
}
}
客户端
package Net.TCP.Demo3;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
/**模拟用户登陆改进*/
public class SendDemo {
public static void main(String[] args) throws IOException {
Socket s=new Socket("DESKTOP-QG1LSJ2",12000);
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入用户名");
String s1 = br.readLine();
System.out.println("请输入密码");
String s2 = br.readLine();
PrintWriter pw=new PrintWriter(s.getOutputStream(),true);
pw.println(s1);
pw.println(s2);
//
BufferedReader chickbr=new BufferedReader(new InputStreamReader(s.getInputStream()));
String flag=chickbr.readLine();
System.out.println(flag);
s.close();
}
}
用户对象
package Net.TCP.Demo3;
public class User {
private String name;
private String messeage;
public User() {
}
public User(String name, String messeage) {
this.name = name;
this.messeage = messeage;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMesseage() {
return messeage;
}
public void setMesseage(String messeage) {
this.messeage = messeage;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
if (name != null ? !name.equals(user.name) : user.name != null) return false;
return messeage != null ? messeage.equals(user.messeage) : user.messeage == null;
}
}
用户对象集合
package Net.TCP.Demo3;
import java.util.ArrayList;
import java.util.List;
public class UserDB {
private static List<User> users=new ArrayList <>();
static {
users.add(new User("zhangsan","10000"));
users.add(new User("lisi","11000"));
users.add(new User("wangwu","12000"));
users.add(new User("wuliu","13000"));
}
public static List <User> getUsers() {
return users;
}
}