Ich versuche, WinHTTP verwenden, um eine Verbindung zum Server herzustellen, leider, wenn ich versuche, das Protokoll von http zu Webskorb zu aktualisieren, scheitert die API WinHttpSetOption.WinHTTP und Websocket
hSessionHandle = WinHttpOpen(L"WebSocket sample",WINHTTP_ACCESS_TYPE_NO_PROXY,NULL, NULL,0);
hConnectionHandle = WinHttpConnect(hSessionHandle, L"localhost",INTERNET_DEFAULT_HTTP_PORT, 0);
hRequestHandle = WinHttpOpenRequest(hConnectionHandle,L"GET",L"/ws",NULL,NULL,NULL, 0);
// Request protocol upgrade from http to websocket.
fStatus = WinHttpSetOption(hRequestHandle,WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET,NULL,0);
if (!fStatus)
{
dwError = GetLastError();
goto quit;
}
fStatus
kehrt FALSCH, mit GetLastError
Fehlercode 12009 Rückkehr der
ERROR_WINHTTP_INVALID_OPTION
12009 sagt: Eine Anfrage an WinHttpQueryOption oder WinHttpSetOption angegeben einen ungültigen Wert Option.
Der obige Code wird aus dem Microsoft WinHttp WebSocket demogenommen (new GitHub home)
Mein System ist Windows 7. Ist das Betriebssystem Windows 8 oder höher sein müssen? Irgendwelche Hinweise dieser API scheitern?
Seit dem Upgrade Vervollständigungsfunktion, [ 'WinHttpWebSocketCompleteUpgrade'] (https://msdn.microsoft.com/en-us/library/windows/desktop/hh707326 (v = VS.85) .aspx) deutlich spezifiziert Windows 8 als die minimale Plattform, ich gehe voran und sage ja, Sie brauchen Windows 8 oder höher. – WhozCraig
Danke WhozCraig .... Gibt es eine Möglichkeit, wie wir Websockets mit winHttp in Win 7 verwenden können? – Sukhas