我正在尝试构建一个Android应用程序,其中客户端从应用程序向服务器进行身份验证,并在客户端发送和接收来自服务器的消息后进行身份验证。 我的服务器是谷歌应用引擎服务器所以我正在使用Http请求(doPost)进行通信。
我已经完成的目标是:
1.创建客户档案
2.发送到服务器配置文件数据
3.将配置文件存储在服务器上
4.从服务器上的数据库登录注册的配置文件
5.发送客户端ok消息以获得良好的身份验证。
现在我的问题是如何保持这种联系? 因为在一两分钟之后它是http连接我不确定连接是否会超时。并再次执行身份验证包括再次访问数据库似乎错了.. 这样做的正确方法是什么。 代码示例或好的教程将不胜感激 谢谢。
答案 0 :(得分:2)
您可以在服务器上为每个客户端成功登录创建Http会话,并且对于来自客户端的每个后续请求,只需获取已创建的会话。 此外,您可以在会话中保留客户端特定数据。这是链接http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Session-Tracking.html。 然后,您可以在服务器端的web.xml中指定超时。希望这会有所帮助
答案 1 :(得分:1)
HTTP不是基于会话的协议。保持开放式连接纯粹是提高效率;它没有为您提供任何相互关联请求的内在方法,也不应该这样使用。
相反,使用基于cookie的会话,正如Ganesh所说。
答案 2 :(得分:0)
解决方案是使用Https。它具有一种具有挑战性的机制来保护客户端和服务器之间的通信通道。
您也可以像OAuth protocole一样。在良好的OAuth上,服务器为客户端提供一个令牌,客户端必须在每次请求时重新发送该令牌。
有一个android library for OAuth,非常肯定有一个可以低成本集成到您的服务器中。
只是想法,我真的不是网络专家:)