37.4 net--TcpDemo2模拟用户登陆

package day35_net_网络编程.tcp传输.模拟用户登录;

import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

/*
 * 模拟用户登录
 * 创建客户sockt对象---输入用户名密码---读取数据---发送数据
 * 接收服务端判断结果数据
 * 释放资源
 */
public class ClientTest {
    public static void main(String[] args) throws IOException {
        //创建客户sockt对象
        Socket s = new Socket(InetAddress.getLocalHost(),8881);

        //输入用户名密码,读取两行数据(user,password)用按行读取的流
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//读取命令行数据的数据
        System.out.println("请输入用户名:");
        String user = br.readLine();
        System.out.println("请输入密码:");
        String password = br.readLine();

        //发送数据
       PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
       pw.println(user);
       pw.println(password);

       //接收返回结果
   /*     InputStream is = s.getInputStream();

        byte[] byts = new byte[1024];
        int len = is.read(byts);
        Stringbuilder str = new Stringbuilder(byts,0,len);
        System.out.println(str);*/
        BufferedReader serverbr = new BufferedReader(new InputStreamReader(s.getInputStream()));

        String result = serverbr.readLine();
        System.out.println(result);

       s.close();
    }
}
package day35_net_网络编程.tcp传输.模拟用户登录;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/*
* 创建服务端Socket对象---接收数据
* 判断账号密码是否正确---返回判断结果
* 释放资源*/
public class ServerTest {
    public static void main(String[] args) throws IOException {
        //创建服务端Socket对象
        ServerSocket ss = new ServerSocket(8881);

        //接收数据
        Socket s = ss.accept();//阻塞。使用socket对象进行读写数据

        BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
        String user = br.readLine();
        String password = br.readLine();
//        System.out.println(user + ":" + password);

        //判断账号密码是否正确
        boolean flag = false;
        if("admin".equals(user) && "123456".equals(password)) {
            flag = true;
        }

        //返回判断结果
        PrintWriter pw = new PrintWriter(s.getOutputStream(),true);

        if(flag) {//true则执行if
            pw.println("登录成功");
        }else {
            pw.println("登录失败");
        }

        s.close();
    }
}

输出

原文地址:https://www.cnblogs.com/longesang/p/11375733.html