如题!
最近用JAVA在做一个仿QQ程序,在客户端的登录问题上遇到一个小问题!
在同一台计算机上怎么判断防止用户登陆两个相同的QQ号!
谢谢!
[b]问题补充:[/b]
就和QQ的登录一个道理!!反正不能牵扯到服务器的数据库!
[b]问题补充:[/b]
在登录QQ的时候,当一个号码1234567第一次成功登陆后,在登陆1234567号码后完全不用输入正确密码,QQ就可以判断出登陆了同一个QQ号!!我在想它是不是在本地文件中将已经登陆的QQ写入一个文件里面~~当下次再登陆的时候会先到这个文件里面查找是否有这个QQ号!!如果没有才允许登陆!但是我不知道我的想法对还是不对!!对的话应该怎么实现,不对的话又该怎么做呢?
如果是按照你的想法,也是可以实现的,只要登陆了一个帐户,就将这个帐户的信息写入本地文件,可以选择加密保存也可以不加密,看需求了,只要记下登陆的号码和登录状态就可以了。 然后在该帐户退出的时候改变登录状态就可以了,下次该帐户再次登录的时候检查此帐户是否登录,如果没有就让其登录就可以了,如果已登录就弹出对话框提示已登录。如果本地没有这个帐户的话,就创建一个登录帐户的信息,就像qq那样,为每个帐户都提供一个保存帐户信息的文件夹。
其实不安你的方法也可以的,只要查询输入的帐户是否登录就行了,不必检查密码是否正确,如果该帐户没有登录在检查其密码也不迟啊。
在数据库中建立相应的字段来表示用户是否登入了。
查询的方法就不用我说了吧;
QQ的登陆就是通过检验后台服务器上用户的登陆状态来实现辨别用户是否登录的,不知道你用过Openfire + Spark没有? 在Openfire服务器的管理界面里,你可以看到有多少人登录了,登录的账号是什么! QQ基本上也是这样的。客户端通过发送账号到服务端查询是否有这个账号,是否已经登录! 如果登录了就返回一个已登录标志告诉客户端。
基本原理就是这样的。