【问题标题】:Single request to multiple asynchronous responses对多个异步响应的单个请求
【发布时间】:2010-11-16 19:49:02
【问题描述】:

所以,这就是问题所在。 iPhone 很棒,但带宽和延迟对于具有服务器端要求的应用程序来说是严重的问题。我最初解决这个问题的计划是多次请求数据位(无意中的双关语),这就是处理大量传入//传出数据问题的方式。由于很多原因,这是一个坏主意,对我来说最明显的是我糟糕的数据库(MySQL)不能很好地处理这个问题。据我了解,最好一次请求大块,特别是如果我无论如何都要请求所有这些。

问题是我现在又在等待大量数据通过。我想知道是否有一种方法可以基本上向服务器发送一堆 ID 以从数据库中获取,然后 SINGLE 请求然后发送很多小响应,每个响应都包含有关单个数据库条目的所有信息。订单无关紧要,理想情况下,我可以向服务器发送另一个请求,告诉它停止向我发送东西,因为我有我需要的东西。

我意识到这可能不是一件简单的事情,如果你们(真棒)可以为我指出正确的方向,那也是不可思议的。

当前系统是 iPhone (Cocoa//Objective-C) -> PHP -> MySQL

非常感谢。

【问题讨论】:

    标签: iphone objective-c networking httprequest httpresponse


    【解决方案1】:

    AFAIK,单个请求无法获得多个响应。根据您的要求,您似乎需要分两部分执行此操作。

    第 1 部分:使用 ID 发送单个呼叫。

    您的服务器会回复一条消息,其中包含 URL 或调用唯一“较小”答案所需的信息。

    第 2 部分:根据该响应列表,触发在各自线程上运行的多个请求。

    我认为这类似于网页的工作方式。您在 Web 浏览器中调用 HTML URL。 HTML 告诉浏览器它需要获取其他部分(图像、css、js 等)以构建完整页面的所有位置/URL。

    希望这会有所帮助。

    【讨论】:

    • 太棒了。万分感谢。这是肯定要走的路。
    • 我唯一能想到的另一件事是以某种方式在两者之间创建一个连接(这就是套接字?我是一个完全的网络菜鸟)并发送请求,然后监听连接随着数据的传入。但这比制作独特的网址要多一些工作。
    猜你喜欢
    • 1970-01-01
    • 2015-01-17
    • 2023-03-28
    • 1970-01-01
    • 2014-01-05
    • 2012-05-26
    • 2018-04-10
    • 1970-01-01
    • 2018-03-26
    相关资源
    最近更新 更多