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. 免费获取 Jetbrain 全家桶使用兑换码的正确姿势!

    自今年1月份以Jetbrain公司严厉打击旗下开发工具产品(如:IntelliJ IDEA.WebStorm.PyCharm等)的盗版破解以来.求新破解方式.分享新破解方法的帖子或信息经常可以在各技术 ...

  2. c#序列化和反系列化json与类型对象转换

    先添加程序集:  System.Web.Extensions(在 System.Web.Extensions.dll 中) 引用:using System.Web.Script.Serializati ...

  3. HTTP中主要的头字段

    HTTP中主要的头字段 头字段类型 含义 备注 通用头:适用于请求和响应消息的头字段 Date 表示请求和响应生成的日期   Pragma 表示数据是否允许缓存的通信选项   Cache-Contro ...

  4. JavaSE知识概述集

    一.HelloWord(文档启动Java) /* 使用命令行的方式执行的时候,cmd的默认编码格式是GBK 因此在输入中文的时候需要设置文件的编码格式位ANSI,不会出现乱码错误 注意: 0.先用ja ...

  5. JDBC封装-Java(新手)

    JDBC的封装,自己总结的自己总结的自己总结的 dao (代码分层)命名规范: 1.com.XXX.dao 存放dao相关的类型 例如 StudentDAOImpl 处理 数据库的链接 存取数据 2. ...

  6. Sqli-labs 搭建SQL注入平台

    sqli-labs是一款学习sql注入的开源平台,共有75种不同类型的注入. 搭建步骤: 1.在Windows系统中安装WAMP 下载地址:https://pan.baidu.com/s/1HY0hF ...

  7. .NetCore 3.1 MVC 发布Linux实操

    记录自己.net Core的学习,现在来发布到Linux系统 第一步:准备一台CentOS 7 X64服务器 .net core 3.1项目 第二步:准备服务器.net core环境 1.安装微软官方 ...

  8. Head First设计模式——桥接模式

    桥接模式 桥接模式:不只改变你的实现,也改变你的抽象. 如果有一个电视厂家,遥控器需要升级,电视也需要修改.这种变化部分的封装就适合使用桥接模式,桥接模式通过将实现和抽象放在两个不同的类层次中而使它们 ...

  9. String类,string类的特点

    1,String类是final修饰的,不能被继承 2,String类的底层使用数组存储 JDK1.9之前:char[]value JDK1.9之后:byte[]value 3,String类的对象不可 ...

  10. 解决 Mac Android Studio Gradle Sync 慢的问题

    1.启动Android Studio 2.从项目的 gradle/wrapper/gradle-wrapper.properties 目录中找到 distributionUrl 这个字段,查看后面对应 ...