关闭

客户端登陆服务器用户名验证

标签: 客户端登陆服务器
7241人阅读 评论(1) 收藏 举报
分类:
/*
客户端通过键盘录入用户名。
服务端对用户名进行验证。

如果用户名存在,服务端显示xxx已登录,客户端显示xxx,欢迎登陆。
如果用户名不存在,服务端显示xxx尝试登陆,客户端显示xxx,用户名不存在。

最多登陆三次,防止暴力登陆。
*/
import java.io.*;
import java.net.*;
/*
*客户端
*/
class  client
{
	public static void main(String[] args) throws Exception
	{
		Socket s = new Socket("192.168.33.1",10008);//建立服务
		BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));//读取键盘输入用户名
		PrintWriter pw = new PrintWriter(s.getOutputStream(),true);//读到数据往服务端写
		BufferedReader bufin = 
			new BufferedReader(new InputStreamReader(s.getInputStream()));//将客户端返回的数据读入
		for(int x = 0;x < 3; x ++)//只登陆3次设定
		{
			String line = bufr.readLine();//读取用户名
			pw.println(line);
			if(line == null)//为空用户名终止
				break;
			pw.println(line);
			String info = bufin.readLine();//读取服务端返回的数据
			System.out.println("Server info:"+info);
			if(info.contains("欢迎登陆"))//用户登录终止
				break;
		}
		bufr.close();
		s.close();
	}
}
/*
*服务端
*/
class ServerThread implements Runnable
{
	private Socket s;
	ServerThread(Socket s)
	{
		this.s = s;
	}
	public void run()
	{
		String ip = s.getInetAddress().getHostAddress();
		System.out.println(ip+"...........connect");
		try
		{
			for(int x = 0;x < 3;x ++)
			{
				BufferedReader bufin = new BufferedReader(new InputStreamReader(s.getInputStream()));//读取客户端发送的数据
				String name = bufin.readLine();
				if(name == null)
					break;
				BufferedReader bufr = new BufferedReader(new FileReader("user.txt"));//读取已存入用户账户,本来是读取数据库,这里方便就写了一个文本
				PrintWriter out = new PrintWriter(s.getOutputStream(),true);//写入流,服务端写出
				String line = null;
				boolean flag = false;//判断标记
				while((line = bufr.readLine())!= null)//读取数据库(Use.txt)中数据
				{
					if(line.equals(name))//如果数据库和读取用户名相同,则终止
					{
						flag = true;
						break;
					}
				}
				if(flag)
					{
						System.out.println(name+":已登录");
						out.println(name+":欢迎登陆");
						break;
					}
				else
				{
					System.out.println(name+":尝试登陆");
					out.println(name+":用户名不存在");
				}
			}
			s.close();
		}
		catch (Exception e)
		{
			throw new RuntimeException("验证失败");
		}
	}
}
class  server
{
	public static void main(String[] args) throws Exception
	{
		ServerSocket ss = new ServerSocket(10008);//建立服务
		while (true)
		{
			Socket s = ss.accept();//接收客户端传来数据
			new Thread(new ServerThread(s)).start();//开启线程
		}
	}
}

打印结果:

user.txt


1
0
查看评论

Android客户端与PC服务端之间的SOCKET实现登陆功能(服务器)

 服务端: 第一步:编写实体类User、 Sex枚举类、FCMessage类 实体类User package com.durian.fc.entity; import java.io.Serializable; import java.util.Date; public class ...
  • aobingque
  • aobingque
  • 2015-10-22 10:00
  • 178

(七)、ZooKeeper 授权验证

1.Zookeeper权限介绍 ZooKeeper 的权限管理亦即 ACL 控制功能通过 Server 、 Client 两端协调完成: Server 端: 一个 ZooKeeper 的节点( znode )存储两部分内容:数据和状态,状态中包含 ACL 信息。创建一个 znode 会产生一个 AC...
  • liuyuehu
  • liuyuehu
  • 2016-08-20 23:47
  • 5046

Datastage8.5客户端登录报80011错误处理

原因: Datastage服务进程启动有误。 解决: 检查各Datastage进程是否正确启动,是否用正确的用户启动。 过程: 一、检查Datastage主进程。 检查命令: ps –ef|grep dsrpcd|grep –v grep 说明: 确保这个进程是使用root来启动。...
  • yuzhic
  • yuzhic
  • 2012-04-30 10:55
  • 3277

登陆用户名密码验证

采用ajax与jquery结合的方式进行验证处理
  • u012021208
  • u012021208
  • 2017-03-13 10:54
  • 85

Java Web开发如何在注册和登录时对用户名和密码进行验证?

1 注册时,对注册的手机号和密码验证: 手机号码为常用的移动,联通,电信号 密码为数字和字母的组合,切长度不能少于8位 方案 在提交注册信息时,用Ajax提交手机号和密码到Servlet进行验证 代码如下: 立即注册 function ...
  • qq_31462011
  • qq_31462011
  • 2017-05-06 15:52
  • 3113

CXF 通过用户名和密码进行验证

CXF是webservice的一个框架,因为他与spring可以无缝整合,所以我选择了cxf来进行webservice开发。 但是一个webservice在外网部署的时候就要考虑权限验证的问题了,在这里我是参考网上的资料通过拦截器(Interceptor)进行权限验证,客户端在soapHeader...
  • a9529lty
  • a9529lty
  • 2012-12-26 10:05
  • 8255

使用dwr框架实现登录用户名验证

使用dwr框架实现Ajax(登录用户名验证)   1.        导入dwr.jar   2.        修改web.x...
  • ntt126796
  • ntt126796
  • 2016-03-29 14:46
  • 903

Android通过get方法访问Tomcat服务器,发送账号密码,检测登陆是否成功。

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的...
  • u010926891
  • u010926891
  • 2015-04-14 15:27
  • 1065

JQuery验证用户名和密码

jquery验证表单很简单的方法现在网上有很多jquery验证表单的插件,但都写的比较复杂。一般都有两三个文件。我今天写一个最简单但是很实用的验证登录表单的方法。我基本上只是给大家提供一种思路。jquery插件一般也是按这个思路写的。大家可以按这个思路去扩展,不过只要实用越简单越好代码如下,应“zh...
  • gaofang2009
  • gaofang2009
  • 2010-04-01 08:44
  • 7512

通过smtp服务器身份验证

做了半天终于将这个问题解决了,也感谢精华贴:因为用到smtp协议发送邮件,特整理了一下以备后用如今smtp发信基本都用验证初始有两种打招呼方式 helo ehlo EHLO250-SMTP.Mydomain.com Hello [192.168.0.1]...
  • learn_2
  • learn_2
  • 2007-07-22 01:53
  • 1980
    个人资料
    • 访问:963900次
    • 积分:10950
    • 等级:
    • 排名:第1758名
    • 原创:281篇
    • 转载:58篇
    • 译文:2篇
    • 评论:133条
    博客专栏
    文章分类
    最新评论