gpt4 book ai didi

c++ - 在单个函数调用中发出 Qt HTTP 请求并接收响应

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:30:57 25 4
gpt4 key购买 nike

我正在尝试创建一个库,其 API 将按以下方式使用:

WebService *service = new WebService( username, password );
User *user = service->getAuthenticatedUser();
UserAssets *assets = user->assets();
// And so on

创建 WebServer 实例时,不会下载经过身份验证的用户及其 Assets ,而是只有在明确请求时才会检索它们。

每当我在使用 Qt 之前必须从网络中检索数据时,我都会按照标准连接模式将 QNetworkReplyfinished() 信号连接到适当的插槽并使用该插槽处理返回的数据。

我的问题是模式似乎不适合我想要的用例。我希望我的库的用户(其他开发人员)能够使用一行来请求和接收他们想要的数据,但至少从我的角度来看,“Qt 方式”似乎要求他们启动一条线上的请求,然后将一些信号连接到其他插槽以取回数据,这不是我希望他们拥有的体验。

我是网络编程的新手,无论是一般的还是 Qt,但我使用过用 Python 编写的库,与完全相同的服务通信,能够实现这一点,所以它似乎是可能的。

是否可以通过单个函数调用使用 Qt 执行 HTTP 请求的完整生命周期?

最佳答案

您最好的选择可能是使用 QEventLoop .这将允许您 1) 启动 HTTP 连接,并且从调用者的角度来看,2) 有效地阻止直到您得到响应。

例如:

关于c++ - 在单个函数调用中发出 Qt HTTP 请求并接收响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12232290/

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