社区
Java SE
帖子详情
C/S 模式用户登录,同名验证如何解决
Pbingbing
2011-07-19 11:45:17
主要目的是防止同一用户登录多次和在多处登录的情况,
我写的是一个群聊天的小软件,有用户登录界面,客户端和一个服务器,首先服务器启动,然后登录(要在数据库中验证),如果登录成功,就可以进入客户端,但是现在同一个用户可以登录多处,不知如何解决。
...全文
142
5
打赏
收藏
C/S 模式用户登录,同名验证如何解决
主要目的是防止同一用户登录多次和在多处登录的情况, 我写的是一个群聊天的小软件,有用户登录界面,客户端和一个服务器,首先服务器启动,然后登录(要在数据库中验证),如果登录成功,就可以进入客户端,但是现在同一个用户可以登录多处,不知如何解决。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Pbingbing
2011-08-13
打赏
举报
回复
非常感谢!
windyfzz
2011-08-02
打赏
举报
回复
LZ的这个群聊小软件我以前也写过。你要的话留下个联系方式,共同学习。
我写那个小软时也考虑到了这个问题,对于你提出的问题,我当时的解决方法如下:
private void landingToServer()//登录事件
{
socket=new Socket();
socket.connect(new InetSocketAddress(InetAddress.getByName(IP),sportNumber),15*1000);
if(socket.isConnected())
{
sendLandingMessage();//向服务器发送登录信息
}
}
//向服务器发送登陆信息
private void sendLandingMessage()
{
try
{
os=socket.getOutputStream();
ps=new PrintStream(os);
String newUserName=nameField.getText();
sendMSGToServer("landingMSG"+","+newUserName);
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
当服务器端接收到landingMSG类型的消息:
public void run()
{
clientInformation=getInformation();//得到客户端发来的消息
MSGStyle=clientInformation.split(",")[0];
if(MSGStyle.equals("landingMSG"))//判断得到的消息类型
{
name=clientInformation.split(",")[1];
if(checkReName(name)==true)//检查用户列表中是否存在相同的用户名
{
ps.println("ReName");
return;
}
else
{
doc.insertString(doc.getLength(), separate+name+" 登陆服务器成功"+separate+separate, null);
serverSystem.text.setCaretPosition(doc.getLength());
notifyNewUserComing();
}
}
}
public boolean checkReName(String name)//检查重名
{
for(int i=0;i<serverSystem.list.getItemCount();i++)
{
if(name.equals(serverSystem.list.getItem(i)))
{
isHaveReName=true;
break;
}
}
return isHaveReName;
}
服务器检测到新用户登陆发来的登陆消息,当检测到有重名的时候向客户端发送ReName类型的消息,那么当客户端收到这个消息是说明重名了。你可以根据客户端是否接收到了ReName消息来判断是否重名。
zl3450341
2011-07-20
打赏
举报
回复
[Quote=引用 1 楼 alexandertech 的回复:]
有后登陆的,就踢掉前面登陆的
[/Quote]
++
bolink5
2011-07-20
打赏
举报
回复
[Quote=引用 1 楼 alexandertech 的回复:]
有后登陆的,就踢掉前面登陆的
[/Quote]
这点和QQ 是一样的
飞跃颠峰
2011-07-20
打赏
举报
回复
有后登陆的,就踢掉前面登陆的
CAS单点登录v6.6.x
CAS是一个开放的、文档齐全的身份
验证
协议。该协议的主要实现是托管在这里的
同名
开源Java服务器组件,支持大量额外的身份
验证
协议和功能。
B/S
模式
下实现EXCEL报表的生成与打印
1. 前言 报表打印通常是管理信息系统中的一个重要模块,而Excel凭借它功能强大、应用灵活、通用性强等的优势在报表打印中...B/S
模式
具有传统C/S
模式
所不及的很多特点,如更加开放、与软硬件无关、应用扩充和系统维护
c/s,b/s,app测试。0527
8、C/S结构的软件,我们可以进行哪些方面的测试? 安装/卸载、界面及用户体验、具体功能、兼容性、性能、提示信息、鼠标键盘操作、文件传输功能 3、什么是B/S结构?B/S结构有哪些特点?请说明一下B/S结构应用系统...
B/S架构基础-JavaWeb
⑴C/S又称Client/Server或客户/服务器
模式
。服务器通常采用高性能的PC、工作站或小型机,客户端需要安装专用的客户端软件。如QQ,微信等软件 B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser)。...
JSP+Servlet+JavaBean+DAO
模式
+JDBC+Bootstrap+ajax+自定义标签完成
用户登录
验证
文章目录一....登录页面实现Bootstrap部署login.jsp实现效果3.JDBC的DAO
模式
实现3.1 数据库连接类3.2 User实体类-JavaBeanUser特征User代码3.3 UserDAO接口类3.4 UserDAOImpl实现类3.5 UserDAOPr...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章