【问题标题】:Proper way to maintain client http client-server connection?维护客户端http客户端-服务器连接的正确方法?
【发布时间】:2012-04-25 01:28:50
【问题描述】:

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

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

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

【问题讨论】:

    标签: java android google-app-engine servlets client-server


    【解决方案1】:

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

    按照 Ganesh 的建议,使用基于 cookie 的会话。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        有一个android library for OAuth,很确定有一个可以低成本集成到您的服务器中。

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

        【讨论】:

          猜你喜欢
          • 2020-06-26
          • 2016-07-06
          • 2012-01-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-02-28
          • 2016-02-16
          相关资源
          最近更新 更多