我正在编写自己的 HTTP 提取器套接字。我在 MVC++ 和 winsocket2.h 中使用 C++ 我能够对套接字进行编程以连接到所需网站的服务器并发送 HTTP GET 请求。
现在的问题是,在我使用 Keep-alive 连接发送 HTTP GET 请求后,我调用了 recv 函数,它工作正常,除了在检索网站后,它一直徘徊并等待来自服务器或连接的超时提示关闭!
根据服务器的保持活动超时,这需要几秒钟的时间,因此,我无法从保持活动的 HTTP 设置中受益。
如何在检索网站后告诉 recv 函数停止并将命令返回给我,以便我可以发送另一个 HTTP 请求,同时避免另一个握手机制。
当我使用非阻塞套接字时,它的工作速度更快,但我不知道什么时候停止,我设置了一个 str.rfind("",-1,7) 来停止检索数据。但是,它不是很有效。
有谁知道这样做的方法,或者当连接保持活动状态时 HTTP 服务器发送的最后一个字符是什么,所以我可以将其用作停止决定。
最好的,
萌