0

我正在尝试构建一个 Android 应用程序,其中客户端从应用程序向服务器进行身份验证,并且在身份验证之后,客户端从服务器发送和接收消息。我的服务器是谷歌应用引擎服务器,所以我使用 Http 请求(doPost)进行通信。

我已经完成的目标是:
1. 创建客户资料。
2. 向服务器发送配置文件数据
3. 将配置文件存储在服务器上
4. 从服务器上的数据库登录注册配置文件
5. 发送客户端 ok 消息以获得良好的身份验证。

现在我的问题是如何保持这种联系?
因为一两分钟后是http连接,我不确定连接是否会超时。并且再次进行身份验证包括再次访问数据库似乎是错误的.. 这样做的正确方法是什么。代码示例或好的教程将不胜感激。
谢谢。

4

3 回答 3

2

您可以在成功登录时为每个客户端在服务器上创建 Http 会话,并且对于来自客户端的每个后续请求,只需获取已经创建的会话。此外,您可以在会话中保留客户端特定数据。这里的链接http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Session-Tracking.html。然后您可以在服务器端的 web.xml 中指定超时。希望这会有所帮助

于 2012-04-12T17:22:53.937 回答
1

HTTP 不是基于会话的协议。保持开放连接纯粹是提高效率;它没有为您提供任何将请求相互关联的内在方式,也不应该这样使用。

相反,如 Ganesh 建议的那样,使用基于 cookie 的会话。

于 2012-04-13T04:50:29.893 回答
0

一个解决方案是使用 Https。它有一个具有挑战性的机制来保护客户端和服务器之间的通信通道。

您也可以像 OAuth 协议那样做。在良好的 OAuth 上,服务器为客户端提供一个令牌,客户端必须在每次请求时重新发送该令牌。

有一个用于 OAuth 的 android 库,并且很确定有一个可以低成本集成到您的服务器中。

只是想法,我真的不是网络专家:)

于 2012-04-12T16:51:26.907 回答