微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果连接重置,HttpSendRequest 是否会自动重试?

如何解决如果连接重置,HttpSendRequest 是否会自动重试?

我正在 Windows 10 桌面上运行用 C++ 编写的 64 位 Windows 应用程序。使用 HttpSendRequest 调用我们的一项服务。我知道对于一个特定的调用,服务器正在断开连接到一个问题,但似乎 HttpSendRequest 然后自动进行额外的调用,然后在第二次调用后返回。

详情:

向 http://myserver/myservice/request_params 发出 PUT 请求

这会在服务器上创建一个参数集,并返回一个 GUID

向 http://myserver/myservice/report/aaa-bbb-ccc-ddd 发出 GET 请求

其中 aaa-bbb-ccc-ddd 是 GUID,这应该是一次性请求 ID。

服务在执行初始 GET 请求时出现问题,并断开连接。我知道这是因为当我运行 Wireshark 时,我可以看到对 GET 端点的两次调用。第一次,TCP RST 返回并关闭连接。

我已经逐步完成了我们的代码并验证了我们正在对 HttpSendRequest 进行一次调用,但这将返回 true,状态为 404,以及服务器在第二次调用 GET 端点时会发出的错误消息。 WinINET 似乎看到连接断开,并自动重试。

在客户端,我们希望 HttpSendRequest 在第一次调用时返回 false。

关于如何关闭此行为或在 HttpSendRequest 返回时检测它的任何想法?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。