【问题标题】:Is it possible to make asynchronous connections with Zend_Http?是否可以使用 Zend_Http 进行异步连接?
【发布时间】:2011-03-16 23:25:19
【问题描述】:

是否可以使用 Zend_Http 进行异步连接?怎么样?

感谢您的帮助。

【问题讨论】:

  • 你对文档有什么看法?
  • 我检查了文档,但什么也没找到
  • 您只想通过 ajax 重新加载某些内容,还是想要永久连接到服务器?
  • 我的 CLI php 应用程序需要异步连接。现在,我使用 MultiRequest 类 (code.google.com/p/multirequest)。但我认为这在 Zend Framework 中是类似的。

标签: php zend-framework curl asynchronous zend-http-client


【解决方案1】:

没有。 Zend_Http 既不支持并行请求(查看curl_multi)也不支持异步请求或响应轮询。所有适配器都 -> 在请求之后立即读取 -> 写入。

【讨论】:

  • 是的,在没有异国情调(也可能是愚蠢)的情况下,curl_multi 是唯一简单的方法。有一些关于如何做到这一点的基础知识的旧(但仍然正确)教程。 paul-norman.co.uk/2009/06/asynchronous-curl-requests
  • @JamesButler:还有一种新奇的方法可以做到这一点:php.net/httprequestpool - (这里有一个过度假设的假设)可以使用 fsockopen 池自己构建一些东西。但在 PHP 中,很难使其高效或真正异步。
  • 没注意到。我猜它是 curl 的包装器/抽象。每天都是上学日!
【解决方案2】:

是的,这是可能的,虽然不是一个自然的解决方案,但是......

try {
    $result = $client->request(Zend_Http_Client::GET);
} catch (Exception $ex) {
    //no hadle
}

并提供超时值 1

$client = new Zend_Http_Client("http://127.0.0.1:80......."", array(
    'timeout'      => 1
));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多