JAVA单用户登录怎么实现

做的是安卓客户端服务端是网站客户端是android软件考虑过普通的socket通信,用户登录成功时,服务器那里都保存一个client.accept()(保存的socket... 做的是安卓客户端 服务端是网站 客户端是android软件
考虑过普通的socket通信,用户登录成功时,服务器那里都保存一个client.accept()(保存的socket对象是用来以后发消息通知该客户端下线用的,比如帐号A已经登录,那么服务端就保存一个clientA.accept(),如果帐号A在别处再次登录,就通过clientA.accept()这个对象来通知原来的客户端下线),但是如果有上千个用户登录,就要保存上千个socket对象,这样很不合理的。
网站主动通知客户端,能想到的只有用socket做。。请教下大家,有没有更好的方法~~多多指教
展开
 我来答
a97263047
2012-10-09 · TA获得超过113个赞
知道答主
回答量:137
采纳率:0%
帮助的人:48.4万
展开全部
我做过的一个项目是使用XML传输来实现的。首先客户端登录请求,服务器判断是否合法,合法就返回一个ticket码,客户端需要记录这个ticket码,服务器也需要将ticket记录到数据库里面,以后客户端的连接就通过ticket来判断识别是哪个用户。其实用XML做数据交换是肯定能实现的,只是麻烦的点,但是好处是对于C做的客户端照样通用。如果你只是需要简单的登录的话,也可以把XML交换换成HTTP请求,将用户名和密码放在请求报文的头里面。
盖亚UtQ
2012-10-09
知道答主
回答量:25
采纳率:0%
帮助的人:6.2万
展开全部
如果再在别处登录,服务器怎么通知这里的客户端下线?
-----------要实现这个,你可以在数据库再添加一个status字段,值为0/1(0表示下线,1表示在线),上个前辈不是喊你每个用户都对应一个ticketId嘛,同样,再对应一个status呗~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
非鱼共享
2012-10-09 · 专注互联网技术,快速了解互联网研发
非鱼共享
采纳数:204 获赞数:695

向TA提问 私信TA
展开全部
使用http协议,URL传输保留ticket和cookie值即可实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式