首页 新闻 会员 周边 捐助

类似qq在多台电脑上登录的问题

0
悬赏园豆:10 [已解决问题] 解决于 2013-07-16 09:54

qq登录是只允许一个同一个帐号登录,如果在一台电脑上重复登录会提示,如果在另一台电脑上登录会把之前电脑上的qq挤掉,我现在就要做一个这样的,求思路。
ps:我自己想是首次登录后把信息存在一个在线账户表中,有ip什么的,然后在另一台电脑上登录的时候去根据ip把应用程序关掉,但是现在的问题就是不知道怎么根据ip去关闭应用程序,大侠们来讨论下

红鲤鱼与驴与绿鲤鱼的主页 红鲤鱼与驴与绿鲤鱼 | 初学一级 | 园豆:120
提问于:2012-04-10 10:41
< >
分享
最佳答案
0

在一台电脑上重复登录的提示,你可以在登录的时候检查进程中是否运行了这个程序。

在另一台电脑上登录会把之前的电脑上的程序挤掉,你可以在服务器上保存ip,通过对比ip来挤掉不是同一ip的登录。

怎么挤掉其它电脑上的程序,也就是关闭其它ip的程序,你可以在程序中设置,当接收到什么格式的信号时自动关闭。这样你就可以通过服务器向指定Ip的程序发送个信息就能关闭了。

具体的你可以参考一下这篇web的登录设计  http://coolshell.cn/articles/5353.html

收获园豆:4
LCM | 大侠五级 |园豆:6876 | 2012-04-10 11:05
其他回答(4)
0

你可以再服務器上 ,放一個 用戶列表?裏面包括ip等。如果 有重複的用戶登錄以後,先查找,如果找到,就把這個客戶從這個列表remove掉。把新的加入。你發信息的時候,會查找這個列表發送信息。那麼以前的ip。就相當于關閉了。同時,在 服務器端,也可以關閉那個ip。

收获园豆:2
無限遐想 | 园豆:3740 (老鸟四级) | 2012-04-10 11:21
0

如果基于socket协议,那问题很容易。如同QQ一样,服务器端发送一个指令,客户端接收指令关闭程序即可。

是否是重复登录的问题,也很简单。在socket服务中检查是否已经登录,关键字:登录名。e.g  QQ就是QQ账号。

保存在数据库中不是很好的解决方法。

收获园豆:2
lucika.zh | 园豆:54 (初学一级) | 2012-04-10 16:03
0

一个观察模式搞定。

收获园豆:2
中文代码 | 园豆:951 (小虾三级) | 2012-04-28 09:05
0
shixudong | 园豆:204 (菜鸟二级) | 2013-09-29 15:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册