使用Socket实现账号密码验证
客户端: 1. 提示用户输入用户名和密码,将用户输入的用户名和密码发送给服务端
2. 接收服务端验证完用户名和密码的结果
服务端:
1. 服务端设置一组账号、密码作为合法账号
2. 接收客户端发送过来的用户名和密码
3. 如果用户名密码不是服务端规定的账号,就向客户端写入”登录失败”,否则向客户端写入登录 成功
客户端
package cc.lanou.test;import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;public class ClientSocket {public static void main(String[] args) throws UnknownHostException, IOException {String IP = "127.0.0.1";Scanner scanner = new Scanner(System.in);while (true) {Socket socket = new Socket(IP, 8080);System.out.println("请输入用户名");String name = scanner.nextLine();System.out.println("请输入您的密码");String pwd = scanner.nextLine();System.out.println("输入完成");OutputStream out = socket.getOutputStream();//拼接字符串String namePwd = name + "," + pwd;//传入服务端out.write(namePwd.getBytes());// 结束返回值int data = socket.getInputStream().read();System.out.println(data);if (data == 1) {System.out.println("账号密码正确");System.out.println("登录成功");break;} else {System.out.println("账号或密码错误,请重新输入");}socket.close();}scanner.close();}}
服务端
package cc.lanou.test;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketAddress;public class ServerSocketDemo {public static void main(String[] args) throws IOException {// 名字String stringName = "小李";String pwd = "123456";// 通信ServerSocket serverSocket = new ServerSocket();// 端口号SocketAddress address = new InetSocketAddress(8080);// 设置通信的端口号 bind(SocketAddress endpoint)// 将 ServerSocket 绑定到特定地址(IP 地址和端口号)。serverSocket.bind(address);// accept()侦听并接受到此套接字的连接。System.out.println("服务器启动");while (true) {Socket socket = serverSocket.accept();//获取客户端的值String msg = readData(socket.getInputStream());//返回客户端OutputStream out = socket.getOutputStream();//分割String[] strmsg = msg.split(",");System.out.println("分割后的数据"+strmsg[0] + strmsg[1]);if (strmsg[0].equals(stringName) && strmsg[1].equals(pwd)) {// OutputStreamWriter writer = new OutputStreamWriter(out2);// writer.write("111");//成功返回1out.write(1);} else {//失败-1out.write(-1);}socket.close();}}/*** 用字符流读取数据* * @param in* @return* @throws IOException*/public static String readDataBuffer(InputStream in) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(in));String msg = br.readLine();return msg;}}
使用Socket实现账号密码验证相关推荐
- Elasticsearch、Elasticsearch-head、Kibana 安全设置账号密码验证登陆
Elasticsearch.Elasticsearch-head.Kibana 安全设置账号密码验证登陆 我的小站.Github.CSDN X-Pack 是 Elastic Stack 的一个扩展,提 ...
- python白名单验证是什么意思_luminati python+selenium使用方式(白名单和账号密码验证方式)...
一,在Windows下使用 1.官网登录后下载对应的exe代理软件 2.下载完成后打开,打开完成后登录127.0.0.1:22999,然后输入用户名和密码进行登录.登录成功后进入到如下界面 3.将本机 ...
- HTTP 账号密码验证
http请求带用户名和密码验证_wdk的博客-CSDN博客_url带用户名和密码 转载自:HTTP 账号密码验证_qq_25600055的专栏-CSDN博客 HTTP 账号 密码验证 17330059 ...
- javaweb登录系统账号密码验证等
javaweb实现登录系统,登陆系统界面,servlet跳转,登录过程中error错误信息获取 涉及内容(适合初学javaweb者): javaweb MySQL servlet jsp 项目导航 运 ...
- java山寨qq账号密码验证_Java实战-山寨QQ
功能: 1.登录界面QQClientLogin.java,好友界面QQFriendList.java,聊天界面QQChar.java 2.当用户点击登录后,把账号密码发送给QQserver.java, ...
- 需要账号密码验证的代理ip使用
在使用爬虫时经常需要用到代理ip,在一些代理网站上找的免费的代理ip往往可用率不高,需要购买代理ip套餐,如果购买的是长时间的代理ip,在访问网页时一般都会需要验证,直接使用这样的代理ip根本无法获取 ...
- JavaScript正则表达式账号密码验证练习
<style>.app{width: 400px;height: 400px;border: 5px solid yellow;margin: auto;text-align: cente ...
- 使用Onvif抓取海康摄像头图片需要账号密码验证问题
1.首先,使用 Media 模块中的 GetSnapshotUri接口获取图片的url,通过获取的url可以在浏览器上查看图片也可以用java代码下载.但是,当我在浏览器上查看时让我输入账号和密码,如 ...
- python最简单的账号密码验证_Python之简单的用户名密码验证
#Author jack # _*_ coding: utf-8 _*_ #date 2019-08-14 ''' 作业一:编写登录接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 ''' ...
最新文章
- 【MySQL】(图解)快速理解内连接、外连接、左连接、右连接
- 云南省初中计算机说课稿,云南省实验教材《信息技术》说课稿范文.docx
- 刚从阿里、头条面试回来,尚硅谷java数据结构与算法百度云
- 【迁移学习】隐私保护下的迁移算法
- Asp.net禁用site.Mobile.Master
- Angular 应用 bootstrapModule 映射的 app Component 的初始化逻辑
- day02 pycharm 安装
- NumPy Cookbook 带注释源码 三、掌握 NumPy 常用函数
- oracle数据库disable,Disable/Enable Oracle Database Vault
- 电阻用计算机怎么算,电阻分压计算器_电阻分压计算公式_电阻分压计算软件 - 电子发烧友(www.elecfans.com)...
- 3d打印技术是计算机在哪一方面的应用,3D打印技术的应用范围 3D打印技术的应用领域有哪些?...
- 喝咖啡的好处和坏处好处
- word导航窗格应用:如何对文档进行快速查找定位?
- 足够的需求,总归有蹒跚的第一步—“Holle,world!”
- 怎样将PDF转成JPG?PDF转换图片其实很简单
- case/casez/casex 的区分与使用
- JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源
- python中字符串,列表,元祖,字典,集合详解
- Centos7卸载自带的OpenJDK
- iphone表情显示问号_如何在iPhone上使用表情符号