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();
}
}

输出

37.4 net--TcpDemo2模拟用户登陆的更多相关文章

  1. Golang模拟用户登陆,突破教务系统

    目录 一.Golang模拟用户登陆,突破教务系统 1.1 请求登陆页面 1.2 抓包分析登陆请求 1.3 golang使用js引擎合成salt 1.4 模拟表单提交,完成登陆 1.5 进入成绩查询页, ...

  2. C#中模拟用户登陆SharePoint网站

    自动化测试一个SharePoint网站,首先要登陆,我们今天就模拟一下用户登陆SharePoint网站的过程,这一过程可以通过其他方式完成模拟,比如通过Coded UI Test录制脚本会更方便,但是 ...

  3. 《java入门第一季》模拟用户登陆注册案例集合版

    需求:校验用户名和密码,登陆成功后玩猜数字小游戏. 在这里先写集合版.后面还有IO版.数据库版. 一.猜数字小游戏类: 猜数字小游戏的代码见博客:http://blog.csdn.net/qq_320 ...

  4. jdbc连接模拟用户登陆密码判断

    package com.aaa.demo1; import com.aaa.utils.JdbcUtils; import java.sql.Connection; import java.sql.P ...

  5. 模拟Post登陆带验证码的网站

    前言: 作者在一个项目需求 模拟用户登陆,获取该用户的订单记录. 该系统需要用户名,密码,验证码 (验证码为正楷的数字4位),于是参考网络一些文章,并进行了很多测试,总结步骤如下: 步骤1 : 通过h ...

  6. Android——用户登陆及用户名和密码的保存

    Android——用户登陆及用户名和密码的保存   在之前的学习过程中已经将Android学习完了,但是在后面将近一年的时间里都没有进行过Android开发,所以对Android的所有的知识点又有点忘 ...

  7. IOS开发之记录用户登陆状态

    上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreData还是蛮好用的.今天要说的是如何记录我们用户的登 ...

  8. 运用String类实现一个模拟用户登录程序

    package Test; import java.util.Scanner; // 模拟用户登录程序 // 思路: // 1.用两个String类分别接收用户名和密码 // 2.判断输入的用户名和密 ...

  9. curl模拟自动登陆&采集网页数据

    <!DOCTYPE> <html> <head> <meta http-equiv="Content-Type" content=&quo ...

随机推荐

  1. activiti工作流解决历史批注中文乱码

    /** * 根据流程实例查询流程的批注信息 * * @param processInstanceId * @return */ private List<Comment> findComm ...

  2. Java学习笔记(2)——有关类

    Java类的高级特性: {Java管理文件机制:类包. 同一个包中的类互相访问时,可以不指定包名. 同一个包中的类不必存放在同一位置,如com.lang.class1和com.lang.class2可 ...

  3. oracle中的创建过程,函数,包

    一.创建存储过程 存储过程是在oracle中存取完成特定业务逻辑的代码块.存储过程是命名块,匿名块不存在数据库中,命名块会存储到数据库中,匿名块每次运行都需要提前编译,命名块一次存储,只会编译一次.命 ...

  4. Swift4.1 新特性compactMap函数

    关于compactMap函数 苹果在Swift 4.1中新增compactMap函数,用来代替flatMap函数. 在Swift标准库中compactMap定义如下 public func compa ...

  5. C++技法杂记

    C++ 技法杂技杂记 1. 枚举 1.1 枚举继承(Enum Inheritance) struct Enum{ enum{ One = 1, Two, Last }; }; struct EnumD ...

  6. MySQL学习(5)

    三 触发器 对某个表进行某种操作(如:增删改查),希望触发某个动作,可以使用触发器. 1.创建触发器 create trigger trigger1_before_insert_tb1 before ...

  7. if-else代码优化的八种方案

    前言 代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出bug,接下来,本文将介绍优化if-else代码的八种方案. 优化方案一:提前return,去除不必要的else 如 ...

  8. Spring Controller单例与线程安全那些事儿

    目录 单例(siingleton)作用域 原型(Prototype)作用域 多个HTTP请求在Spring控制器内部串行还是并行执行方法? 实现单例模式并模拟大量并发请求,验证线程安全 附录:Spri ...

  9. C++中decltype(*)作为模板实参时的隐藏问题

    在函数模板中使用智能指针时,可能会希望根据指针的类型推导出指针引用的对象类型作为模板参数,于是写出以下代码: shared_ptr<decltype(*objPtr)>(objPtr); ...

  10. OpenCV-Python Canny边缘检测 | 十九

    目标 在本章中,我们将学习 Canny边缘检测的概念 OpenCV函数: cv.Canny() 理论 Canny Edge Detection是一种流行的边缘检测算法.它由John F. Canny发 ...