发送端
//Socket(InetAddress address, int port) :创建一个流套接字并将其连接到指定 IP 地址的指定端口号
Socket socket = new Socket("DESKTOP-2PMNTD5", 8888);
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入用户名:");
String userName = input.readLine();
System.out.println("请输入密码:");
String passWord = input.readLine();
//创建打印流对象,启动自动刷新
PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true);
pw.println(userName);
pw.println(passWord);
//读取服务端传回来的数据
BufferedReader out = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String result = out.readLine();
//输出结果
System.out.println(result);
//释放资源
out.close();
pw.close();
input.close();
socket.close();
服务端
ServerSocket ss = new ServerSocket(8888);
//监听
Socket s = ss.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String userName = br.readLine();
String passWord = br.readLine();
//contains方法调用了equals方法,在User类中需要重写equals方法
ArrayList<User> user = UserDB.getUser();
boolean flag = false;
if (user.contains(new User(userName, passWord)))
flag = true;
//创建打印流对象,启动自动刷新
PrintWriter pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream()), true);
if (flag)
pw.write("登陆成功");
else
pw.write("登陆失败");
//释放资源
pw.close();
br.close();
s.close();