客户端: 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实现账号密码验证相关推荐

  1. Elasticsearch、Elasticsearch-head、Kibana 安全设置账号密码验证登陆

    Elasticsearch.Elasticsearch-head.Kibana 安全设置账号密码验证登陆 我的小站.Github.CSDN X-Pack 是 Elastic Stack 的一个扩展,提 ...

  2. python白名单验证是什么意思_luminati python+selenium使用方式(白名单和账号密码验证方式)...

    一,在Windows下使用 1.官网登录后下载对应的exe代理软件 2.下载完成后打开,打开完成后登录127.0.0.1:22999,然后输入用户名和密码进行登录.登录成功后进入到如下界面 3.将本机 ...

  3. HTTP 账号密码验证

    http请求带用户名和密码验证_wdk的博客-CSDN博客_url带用户名和密码 转载自:HTTP 账号密码验证_qq_25600055的专栏-CSDN博客 HTTP 账号 密码验证 17330059 ...

  4. javaweb登录系统账号密码验证等

    javaweb实现登录系统,登陆系统界面,servlet跳转,登录过程中error错误信息获取 涉及内容(适合初学javaweb者): javaweb MySQL servlet jsp 项目导航 运 ...

  5. java山寨qq账号密码验证_Java实战-山寨QQ

    功能: 1.登录界面QQClientLogin.java,好友界面QQFriendList.java,聊天界面QQChar.java 2.当用户点击登录后,把账号密码发送给QQserver.java, ...

  6. 需要账号密码验证的代理ip使用

    在使用爬虫时经常需要用到代理ip,在一些代理网站上找的免费的代理ip往往可用率不高,需要购买代理ip套餐,如果购买的是长时间的代理ip,在访问网页时一般都会需要验证,直接使用这样的代理ip根本无法获取 ...

  7. JavaScript正则表达式账号密码验证练习

    <style>.app{width: 400px;height: 400px;border: 5px solid yellow;margin: auto;text-align: cente ...

  8. 使用Onvif抓取海康摄像头图片需要账号密码验证问题

    1.首先,使用 Media 模块中的 GetSnapshotUri接口获取图片的url,通过获取的url可以在浏览器上查看图片也可以用java代码下载.但是,当我在浏览器上查看时让我输入账号和密码,如 ...

  9. python最简单的账号密码验证_Python之简单的用户名密码验证

    #Author jack # _*_ coding: utf-8 _*_ #date 2019-08-14 ''' 作业一:编写登录接口 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 ''' ...

最新文章

  1. 【MySQL】(图解)快速理解内连接、外连接、左连接、右连接
  2. 云南省初中计算机说课稿,云南省实验教材《信息技术》说课稿范文.docx
  3. 刚从阿里、头条面试回来,尚硅谷java数据结构与算法百度云
  4. 【迁移学习】隐私保护下的迁移算法
  5. Asp.net禁用site.Mobile.Master
  6. Angular 应用 bootstrapModule 映射的 app Component 的初始化逻辑
  7. day02 pycharm 安装
  8. NumPy Cookbook 带注释源码 三、掌握 NumPy 常用函数
  9. oracle数据库disable,Disable/Enable Oracle Database Vault
  10. 电阻用计算机怎么算,电阻分压计算器_电阻分压计算公式_电阻分压计算软件 - 电子发烧友(www.elecfans.com)...
  11. 3d打印技术是计算机在哪一方面的应用,3D打印技术的应用范围 3D打印技术的应用领域有哪些?...
  12. 喝咖啡的好处和坏处好处
  13. word导航窗格应用:如何对文档进行快速查找定位?
  14. 足够的需求,总归有蹒跚的第一步—“Holle,world!”
  15. 怎样将PDF转成JPG?PDF转换图片其实很简单
  16. case/casez/casex 的区分与使用
  17. JNDI学习总结(三)——Tomcat下使用Druid配置JNDI数据源
  18. python中字符串,列表,元祖,字典,集合详解
  19. Centos7卸载自带的OpenJDK
  20. iphone表情显示问号_如何在iPhone上使用表情符号

热门文章

  1. Rose Blumki
  2. c语言魔方阵难不难,C语言魔方阵问题
  3. 1413. 逐步求和得到正数的最小值
  4. 齐齐哈尔鹤城计算机学校,齐齐哈尔阳光学校
  5. CAD梦想画图中的“阵列命令”
  6. python公众号文章_Python 抓取微信公众号文章
  7. Simulink代码生成: 使能子系统及其代码
  8. 逆天了!全地形、四舵轮、八连杆、独立悬挂的机器人运动结构方案,来了!
  9. 【软件测试技术】初识软件、软件测试
  10. 【EXCEL】用公式筛选符合条件的内容,输出固定格式字符