【发布时间】:2023-03-17 05:25:01
【问题描述】:
我正在尝试在 C++ 中使用 WinHTTP 获取文件的内容。该文件是一个 XML 文件,由服务器上的可执行文件生成。
用于初始化、连接甚至读取指定服务器地址上的文件的代码正在运行。
// Connect to internet.
m_hInternet = InternetOpen(L"HTTPRIP",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
// Check if worked.
if( !m_hInternet )
return;
// Connect to selected URL.
m_hUrl = InternetOpenUrlA(m_hInternet, strUrl.c_str(), NULL, 0, INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_RESYNCHRONIZE, 0);
// Check if worked.
if( !m_hUrl )
return;
if( InternetReadFile(m_hUrl, buf, BUFFER_SIZE, &bytesread) && bytesread != 0 )
{
// Put into std::string.
strData = std::string(buf,buf+bytesread);
}
现在我想更新文件(相同的地址)。服务器以 50Hz 的频率更新文件,我希望我的代码只有在服务器更新后才能读取文件。 InternetReadFile 可以做那种事情吗?也许有一个 FLAG,但我在 MSDN 上没有找到任何东西。
感谢您的帮助。
【问题讨论】: