Guzzle、ReactPHP、Amphp 的并行请求

2023-12-26

有什么区别:

  • GuzzleHttp http://docs.guzzlephp.org/en/stable/
  • ReactPHP https://reactphp.org/
  • Amphp https://github.com/amphp

它们有何不同以及典型的使用场景是什么?


它们之间的主要区别在于 Guzzle 是 HTTP 客户端,而 Amp 和 ReactPHP 是通用异步/事件循环库。这两者都基于它们提供的核心事件循环提供 HTTP 客户端。那些是amphp/artax https://github.com/amphp/artax and reactphp/http-client https://github.com/reactphp/http-client.

现在,之间的区别thoseGuzzle 是指那些可以同时执行 HTTP 请求之外的其他操作。也就是说,因为用户可以完全控制事件循环,并且可以注册自己的 I/O 观察程序和计时器,而 Guzzle 使用的事件循环在 Curl 内部对用户隐藏。

如果您只想发出一些并发 HTTP 请求,那么决定主要取决于您喜欢的 API 以及可能的性能考虑。如果您想同时执行其他 I/O 相关操作,请使用 Amp 或 ReactPHP。如果你想流式传输你的身体,我也不建议使用 Guzzle。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Guzzle、ReactPHP、Amphp 的并行请求 的相关文章

  • Angular Template:如何绑定 RXJS Observable 并读取其属性?

    我创建了这个界面 interface IGame name string description string 我将它用作 Observable 并将其传递为Input to the Component Input public game
  • 非法监控状态异常

    如何将轮询线程传递给另一个线程进行处理 程序执行在控制器类中 该类具有 main 方法和线程池 主类控制器 public static void main String args throws InterruptedException Ru
  • Node.js 和 Express:异步操作后如何返回响应

    我是 Node js 新手 所以我仍然对异步函数和回调很感兴趣 我现在的难题是如何在异步操作中从文件读取数据后返回响应 我的理解是发送回复的工作方式如下 这对我有用 app get search function req res res s
  • Flutter - 每次应用程序重新启动后保留变量的值

    在我的一页上 我希望我的用户从一个变量上的默认文本开始 codeDialog 然后我希望他们更改该文本 之后他们编写的文本将成为我的新默认文本 遗憾的是我无法让它发挥作用 现在 当我重新启动应用程序并打开该屏幕时 它会重置为null 我认为
  • 如何在 C# 中捕获等待的异步方法的异常?

    我基本上想知道在 C 中我应该如何捕获通过等待的异步方法的异常await关键词 例如 考虑以下小控制台程序 其中最重要的是包含一个名为AwaitSync AwaitSync calls TestAsync 它返回一个任务 执行时会抛出异常
  • 为什么编译器不允许在 catch 块内使用await

    假设我有一个异步方法 public async Task Do await Task Delay 1000 另一种方法是尝试调用Do里面的方法catch block public async Task DoMore try catch Ex
  • gjs 如何使用 g_data_input_stream_read_line_async 在 Gnome Shell 扩展中读取套接字流

    我正在尝试编写一个 Gnome Shell 扩展 通过 Socket 服务器与 Arduino 进行通信 服务器和 Arduino 运行良好 但我陷入了监听传入服务器消息的扩展代码 因为我需要一种非阻塞方法 所以使用异步读取行 https
  • TcpClient 在异步读取期间断开连接

    我有几个关于完成 tcp 连接的问题 客户端使用 Tcp 连接到我的服务器 在接受客户端后listener BeginAcceptTcpClient ConnectionEstabilishedCallback null 我开始阅读netw
  • 使用 boost 异步发送和接收自定义数据包?

    我正在尝试使用 boost 异步发送和接收自定义数据包 根据我当前的实现 我有一些问题 tcpclient cpp include tcpclient h include
  • 为什么即使当我尝试从工作线程更改 UI 时,同步上下文仍为空?为什么即使我不这样做,工作线程也会在 UI 线程上等待?

    我在表单上有一个按钮 点击它我调用FooAsync并在完成时阻止 UI 线程 下面是代码和我的问题 using System using System Diagnostics using System Threading using Sys
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • Weld - 异步事件观察者

    我正在使用 Weld 来观察事件 我认为有一种方法可以指定观察者是否异步 但我没有找到该注释或文档 观察者可以异步吗 如果可以 我需要做什么才能实现这一点 对此有一个公开请求 CDI 31 异步事件 https issues jboss o
  • 异步WCF调用来保存线程?

    In 另一个问题 https stackoverflow com q 19731600 279516 建议我发送异步网络请求 而不是在后台线程上发送同步请求 原因是为了不浪费一根线 我试图理解这是怎么回事 这是最初的做法 我可以理解这里怎么
  • 异步多播委托

    我最近在一个广泛使用事件的项目上做了一些工作 我需要做的事情之一是在多播委托上异步调用多个事件处理程序 我认为诀窍是对 GetInvocableList 中的每个项目调用 BeginInvoke 但似乎那里不存在 BeginInvoke 有
  • 有没有办法伪造同步 XHR 请求?

    我正在使用 Emscripten 系统将一堆 C 代码移植到 Javascript C 代码有很多调用fopen这是一个同步 IO 调用 在 Emscripten 中 我们使用对本地资源的 XHR 请求来模拟这一点however 在 Fir
  • JavaScript Promise 不执行 .then()

    我在 JavaScript 中的 Promise 方面遇到了一些问题 我想做的是获得一个地址列表 然后对于每个地址 我需要调用地理编码 API 来获取 lat lng 然后我将继续将标记与热图一起绘制 这是我的代码 let promiseK
  • UI 线程中异步组件的触发事件

    我正在 Net 2 0 中构建一个非可视组件 该组件使用异步套接字 BeginReceive EndReceive 等 异步回调是在运行时创建的工作线程的上下文中调用的 组件用户不必担心多线程 这是主要目标 我想要的 组件用户可以在任何线程
  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • Composer 自动加载器未加载 GuzzleHttp\ClientInterface

    我正在尝试使用Guzzle http guzzle readthedocs org en latest 但我得到以下内容致命错误 致命错误 找不到类 GuzzleHttp ClientInterface var www myapp vend
  • 异步方法的同步版本

    在 Java 中创建异步方法的同步版本的最佳方法是什么 假设您有一个包含这两种方法的类 asyncDoSomething Starts an asynchronous task onFinishDoSomething Called when

随机推荐

  • 流畅的 Nhiberhate 和缺失的毫秒

    我在当前的项目中使用 Fluent Nhibernate 和 Nhibernate 我需要将时间记录到毫秒 我有这个用于我的地图 Map x gt x SystemDateTime CustomType Timestamp Not Null
  • 在 ipython 笔记本上找不到模块

    我有一个 ipython 笔记本 其开头为 import sklearn 当我运行它时 我得到 ImportError No module named sklearn 事实上 如果我在笔记本上运行以下代码片段 它不会显示 scikit le
  • 防止不断检查错误的模式?

    在 C 中 是否有一种模式可以消除不断检查调用其他函数的函数中的错误的需要 例如如果函数 foo 依次调用 a b 和 c 则在继续之前必须检查每个函数的返回值 如果 a b 或 c 也调用其他函数 这些函数也可能调用其他函数 这会留下一长
  • 有没有办法在 Scala 中从数组或列表初始化多个变量?

    我想做的基本上是 Java 代码中的以下内容 String tempStrs generateStrings final int hour Integer parseInt tempStrs 0 final int minute Integ
  • Python:用线程分割总和

    我需要进行昂贵的计算来拟合一些实验数据 拟合函数是特征模态的总和 每个特征模态都包含特定的表面积分 因为如果你按照我想到的线程化的经典方式来做的话 它会相当慢 顺便说一句 我正在使用 python 我想计算的函数是这样的 def fit f
  • 关系型 MySql 表 UPDATE 语句的基本规则:for 与 while

    我正在使用 mysql 和 php 进行第一步 因此我对正确代码优化的基本规则存有疑问 我有一个案例 我的UPDATE语句需要在一定数量的行上执行 因为它应该在关系表上执行 那么 for cicle 是否正确
  • Spark数据集写入的区别

    我在用着Spark Java 我需要知道以下写入 Hadoop 方法之间是否有任何差异 性能等 ds write mode mode format orc save path Or ds write mode mode orc path T
  • Python——最适合这项工作的 GUI 库?

    我一直在使用 WxPython 并尝试过 Tk 但似乎虽然两者都很好并且我可能会将它们用于其他项目 但它们似乎都无法完成我当前想要的事情项目 这很好 他们擅长自己所做的事情 基本上我正在寻找的是能让我制作丰富的图形 GUI 的东西 我的具体
  • 根据R中的属性表值导出栅格

    我有一个大型栅格文件 它具有关联的栅格属性表 RAT class RasterLayer dimensions 32550 13900 452445000 nrow ncol ncell resolution 1 1 x y extent
  • 如何在 SQL SERVER 中将 varchar 列转换为 bit 列

    Flag1 is a varchar值为 true 和 false 的列 我需要将其转换为位列 当我尝试这样做时 Convert Bit Flag1 它显示一个错误 Msg 245 Level 16 State 1 Line 2 Synta
  • Java 中的常量返回值

    我有 C 背景 对 Java 的不可变特性感到好奇 函数的返回值可以指定为const吗 表示返回值不可修改 另外 为了加分 在 C 中 函数定义可以后缀为 const 以声明该函数不会修改任何类级别值 这在Java中也可能吗 这意味着根据定
  • 在 Google 地图中加载 Kml 图层是偶然的吗?

    我正在使用 Google Maps Javascript API v3 将一些 KML 文件加载到地图上 但是 对于某些层 我会不同程度地返回 TIMED OUT FETCH ERROR 和 OK 我已经获取了每个图层的 URL 并将其放入
  • Java Swing - JTextField/JTextArea 无法粘贴补充 unicode 字符

    我已经对 stackoverflow 和 Google 进行了详尽的搜索 但到目前为止我还找不到其他人有类似的问题 在示例 Java Swing 测试程序中 我创建了一个普通的 JTextField 以便我可以尝试从网页 http isth
  • 我的 jQuery CDN url 正确吗?

    谁能确认 CDNsrcjQuery 的链接 我正在使用以下内容 是的 URL 和您的script标签正确 顺便说一句 jQuery 1 4 3 最近发布了
  • 具有网络凭据的 HttpClient.GetAsync

    我目前正在使用HttpWebRequest获得一个网站 我想使用等待模式 该模式没有给出HttpWebRequests 我找到了班级HttpClient 这似乎是新的 Http 工作类 我在用着HttpClient GetAsync 查询我
  • Android 视频录制预览无效

    我有一项服务 我尝试让该服务将视频录制到文件中 启动Service的Activity public static SurfaceView mSurfaceView public static SurfaceHolder mSurfaceHo
  • 如何从 JAX-RS 方法重定向到 JSF 页面?

    我有一个 JAX RS 资源 在解析业务逻辑后 我想在 JSF 页面中显示结果 我怎样才能做到这一点 Path rest public class PaymentServiceRest GET Path status public Stri
  • 何时不在 C#(或 Java、C++ 等)中使用 Regex

    很明显 有很多问题看起来像一个简单的正则表达式就能解决 但事实证明是这样的很难用正则表达式来解决 那么某人如何不是正则表达式专家 知道他 她是否应该学习正则表达式来解决给定的问题 See 正则表达式解析 C 源代码以查找所有字符串 http
  • Android VideoView同时播放2个视频

    我正在尝试玩一个videoview在另一个视频视图之上 第一个视频视图已暂停 而第二个视频视图正在播放 它似乎可以工作 但屏幕上没有出现第二个视频 尽管我听到了音频并看到了通常出现在顶部的控件 我假设这是某种订单问题 有什么想法吗 顺便说一
  • Guzzle、ReactPHP、Amphp 的并行请求

    有什么区别 GuzzleHttp http docs guzzlephp org en stable ReactPHP https reactphp org Amphp https github com amphp 它们有何不同以及典型的使