教你用Java验证服务器登录系统
更新时间:2021年04月22日 11:53:10 作者:JiaDog0
这篇文章主要介绍了教你用Java验证服务器登录系统,文中有非常详细的代码示例,对正在学习java的小伙伴们有很好的帮助,需要的朋友可以参考下
一、前言
代码全部由自己所写,作者是一名小白请多多包涵,如果代码有什么不好的地方大佬们可以指出问题
单独写一个这样简易的登录是因为比较方便,由于我尝试了多次在写好的程序内直接写这个登录系统测试,很麻烦、不方便,所以单独写出了这套代码,个人觉得这样把写好的程序放进去修改就比较方便多了
二、登录系统服务端
import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class ServerLogin { public static void main(String[]args)throws IOException{ Server(); } public static void Server()throws IOException{ String name = "AccountPassword.txt"; String path = System.getProperty("user.dir")+"\\"+name; File file = new File(path); if (!file.exists()){ BufferedWriter bw = new BufferedWriter(new FileWriter(file.getAbsoluteFile())); file.createNewFile(); bw.write("1391634154--123456"); bw.newLine(); bw.write("654321--123"); bw.flush(); bw.close(); System.out.println("Server生成账号数据"); } ServerSocket server = new ServerSocket(8848); System.out.println("端口开启成功"); Object obj = new Object(); while(true){ Socket accept = server.accept(); new Thread(new Runnable() { @Override public void run() { int A = 0; boolean ServerStart = false; boolean WhileThread = true; int len = 0; try{ InputStream inputStream = accept.getInputStream(); OutputStream outputStream = accept.getOutputStream(); while(WhileThread){ if (ServerStart==false){ System.out.println("Server=false已经执行"); BufferedReader br = new BufferedReader(new FileReader(file.getAbsoluteFile())); byte[] bytes = new byte[1024]; len = inputStream.read(bytes); String User = new String(bytes,0,len); len = 0; String Line; while((Line = br.readLine())!=null){ if (Line.equals(User)){ System.out.println("正确"+Thread.currentThread().getName()+"-->User:"+User); outputStream.write("true".getBytes()); ServerStart = true; break; } if (!Line.equals(User)){ A++; System.out.println("失败"+Thread.currentThread().getName()+"-->User:"+User); outputStream.write("false".getBytes()); break; } } } if (A==3){ // 结束循环 断开连接 WhileThread = false; inputStream.close(); outputStream.close(); accept.close(); } } }catch(IOException e){ } } }).start(); } } }
三、登录系统客户端
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.util.Scanner; public class ClienteLogin { static Scanner sc = new Scanner(System.in); static String Server = "false"; public static void main(String[]args)throws IOException{ Cliente(); } public static void Cliente()throws IOException{ int ClienteOff = 0; System.out.println("ClienteOn"); System.out.print("IP:"); String next = sc.next(); System.out.print("Port:"); int Port = sc.nextInt(); Socket socket = new Socket(next,Port); InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream(); byte[] bytes = new byte[1024]; while(true){ if (ClienteOff == 3){ break; } ClienteOff++; if (Server.equals("false")){ System.out.print("账号:"); String User = sc.next(); System.out.print("密码:"); String Password = sc.next(); String AccountPassword = User+"--"+Password; outputStream.write(AccountPassword.getBytes()); int len = inputStream.read(bytes); Server = new String(bytes,0,len); len = 0; if (Server.equals("false")){ System.out.println("登录失败,账号或密码错误"); }else if (Server.equals("true")){ System.out.println("登录成功"); } } } }
到此这篇关于教你用Java验证服务器登录系统的文章就介绍到这了,更多相关Java验证服务器登录内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springboot+feign+Hystrix整合(亲测有效)
本文主要介绍了springboot+feign+Hystrix整合,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-11-11SpringBoot自定义FailureAnalyzer详解
这篇文章主要介绍了SpringBoot自定义FailureAnalyzer详解,FailureAnalyzer是一种在启动时拦截 exception 并将其转换为 human-readable 消息的好方法,包含在故障分析中,需要的朋友可以参考下2023-11-11详解spring-boot actuator(监控)配置和使用
本篇文章主要介绍了spring-boot actuator(监控)配置和使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-09-09Java Web开发常用框架Spring MVC Struts示例解析
这篇文章主要为大家介绍了Java Web开发常用框架Spring MVC Struts示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-06-06java中httpclient封装post请求和get的请求实例
这篇文章主要介绍了java中httpclient封装post请求和get的请求实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-10-10
最新评论