同步操作。 GetLastError = 0, WinHttpQueryDataAvailable本身返回TRUE(即OK),但读取的字节数= 0
任何想法这是什么意思? 它通常工作正常(从相机读取JPEGstream),但偶尔会卡在这里(提示代码重新连接)。
根据MSDN, WinHttpQueryDataAvailable不应该返回:“如果会话是同步的,请求等待,直到数据变为可用。
代码解压到这里:
在Visual Studio 2010上使用Windows XP上的CCCC
C ++dynamic发布库和debugging库有什么区别?
在C#中使用ALT + TAB / ESC循环打开窗口,并使当前窗口处于焦点并被强制为最大化(如果已经最小化为任务栏)?
在AF_UNIX SOCK_DGRAM中使用'抽象套接字'
g_HSession = WinHttpOpen( L"Jet",WINHTTP_ACCESS_TYPE_DEFAULT_PROXY,WINHTTP_NO_PROXY_NAME,WINHTTP_NO_PROXY_BYPASS,0 ); ResultsOk = WinHttpSendRequest( hRequest,WINHTTP_NO_ADDITIONAL_HEADERS,WINHTTP_NO_REQUEST_DATA,0); // End the request. if (ResultsOk) { ResultsOk = WinHttpReceiveResponse( hRequest,NULL ); DWORD BytesToRead = 0; if (WinHttpQueryDataAvailable( hRequest,&BytesToRead )) { if (BytesToRead) // THIS IS SOMETIMES 0 - seems wrong to me { if (WinHttpReadData( hRequest,pReadPos,min(BytesToRead,(unsigned)SizeRemaining),&NumRead )) { ...etc!
文件的O_DIRECT标志
如何从双数组中创build声音并在扬声器上播放
读者作家 – 作家线程总是被困在多个读者线程中
底层的HTTP响应已经成功接收,但是它是空的(即零长度响应)或者所有的数据已经被读取和关闭。 WinHttpQueryDataAvailable表示通过返回TRUE仍然显示可用数据的零计数。
考虑到:
HTTP/1.0 200 OK Content-Length: 0
我假设你的BytesToRead变量是一个无符号的long,因为它应该是?
您可以尝试重构您的代码,使其看起来更像此页面 “示例”标题下的示例。
这个解决方案有帮助吗?
与问题无关,但是如果你使用的是Visual Studio,你可以进入你的项目设置(如Project Properties> Project Defaults> Character Set),然后你不必像你在g_HSession = WinHttpOpen( L"Jet"...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。