我负责 API 的后端部分,用 PHP 编写,主要由 Flash 客户端使用。现在发生的事情是:Flash 客户端进行调用,后端加载必要的数据,进行任何必要的处理和后处理,记录和缓存,然后将结果返回给客户端。
我希望发生的事情是尽快将数据返回给客户端,关闭连接,然后做所有客户端不必关心的事情。这可以使 API 看起来更具响应性。按照这里的建议:
http://php.net/manual/en/features.connection-handling.php
实际上有效,除了我必须关闭 gzip 编码才能使其工作,这不是很实用。我们在 apache 中使用 mod_deflate,因此可以使用的解决方案是理想的,但如果有必要,我也会考虑另一种方法来压缩我们的内容。
似乎应该有一种方法让 Apache 知道“我已经向你发送了我要发送的所有数据”,但我似乎找不到类似的东西。
对于那些想知道的人,是的,我可以提前刷新结果,但是 Flash 客户端在连接关闭之前不会处理它们。