【发布时间】:2015-04-23 16:47:27
【问题描述】:
我只想将 WebSockets 添加到我在异步模式下使用 WinHTTP 的应用程序中。
当我需要 WebSocket 时,我会调用以下代码。
-
发送请求前:
WinHttpSetOption(context->hRequest, WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET, NULL, 0); -
在
WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE:appContext->pIoRequest->hWebSocketHandle = WinHttpWebSocketCompleteUpgrade(appContext->hRequest, NULL); WinHttpWebSocketReceive(appContext->pIoRequest->hWebSocketHandle, appContext->pszOutBuffer,RESPONSE_BUFFER_SIZE, NULL, NULL);
一切都没有错误。
现在我在 Fiddler 中看到服务器向我的 WebSocket 发送了一些数据,但没有触发 WINHTTP_CALLBACK_STATUS_READ_COMPLETE。
有什么想法吗?如何从我的 WebSocket 异步读取?向 WebSocket 发送数据效果很好。
【问题讨论】:
标签: asynchronous websocket winhttp