gpt4 book ai didi

php - 向服务器发送多个请求

转载 作者:行者123 更新时间:2023-11-29 02:49:00 27 4
gpt4 key购买 nike

我的代码托管在 amazon web service 服务器上,我使用的是 Hathway Internet Service Provider(印度的 ISP)。以前我的代码与 Hathway ISP 完美配合,但几天前我的代码没有按预期工作。我试图从 Hathway ISP 的另一个用户那里执行相同的代码,我也遇到了同样的问题。我以为我的代码有问题,调试后我发现一切都很完美,这是我在与其他 ISP 执行我的代码时才知道的。 Hathway ISP 正在发生的事情是,它向服务器发送多个请求。浏览器只向服务器发送一个请求,我在浏览器网络选项卡中检查了这一点,但不知道在服务器获得多个请求的过程中发生了什么。让我概述一下我的代码,

  1. 它是用php写的
  2. 正在下载Excel文件
  3. 代码的计算量很大,因此下载 excel 文件需要 10 到 15 分钟

谢谢

最佳答案

根据您的要求,我认为计算时间过长可能存在问题,ISP 正在重新发送请求以测试它是否还活着,或者类似的事情。

理想情况下,在这样的过程中你会做这样的事情:

  1. 用户点击处理按钮:
    1.1 Ajax 请求被发送到 php 计算 excel 文件。

  2. 收到 Ajax 请求。
    2.1 生成轮询id。
    2.2 exec('php calculateExcel.php $pollingid'); (参见 this answer)
    2.3 发送轮询id给用户

  3. 接收轮询id
    3.1 每5秒请求一次编译状态

  4. 接收编译状态请求
    4.1 poll database/file/whatever 通过轮询id查看编译进度
    4.2.1.如果没有完成,返回完成百分比
    4.3.2.如果完成,返回下载链接

  5. 接收状态回复
    5.1.如果未完成,更新状态栏
    5.2.如果完成,删除状态栏,显示下载链接。

我就是这样做的。这样你的服务器就可以愉快地处理大量的 excel 文件,用户不必担心浏览器超时(一些浏览器选择在 5 分钟后断开连接)、windows 网络重置/dns 重新协商、wifi 断开连接等......

只要用户有他/她的投票 ID,他/她就可以请求状态和/或下载可用的文件。

关于php - 向服务器发送多个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38070258/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com