WinHttpSetTimeouts 参数的设置问题

BOOL WINAPI WinHttpSetTimeouts(
  _In_  HINTERNET hInternet,
  _In_  int dwResolveTimeout,
  _In_  int dwConnectTimeout,
  _In_  int dwSendTimeout,
  _In_  int dwReceiveTimeout
);

函数签名是这个样子的。

  • dwResolveTimeout 是 DNS 解析的超时时间
  • dwConnectTimeout 是 连接服务器的超时时间
  • dwSendTimeout 是 发送数据的超时时间
  • dwReceiveTime 是 接收数据的超时时间

以上都是以毫秒为单位的。

现在有一个问题,最后一个 dwReceiveTimeout 的时间是怎么计算的。比如 dwSendTimeout 设置为 30 秒,dwReceiveTimeout 设置为 10 秒。在发送环境用到了 15 秒,接收数据环节,是直接超时了,还是从 15 开始算,再过 10 秒超时?

阅读 8.2k
1 个回答

根据我的经验,看起来是接收数据环节开始计算..

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进