API do componente de protocolo WebSocket

Finalidade

Importante

Escolher uma API WebSocket no Windows — Existem várias opções WebSocket. Escolha com base no tipo de candidatura:

API Melhor para Notes
WinHTTP WebSocket (WinHttpWebSocketSend, etc.) Serviços, código do lado do servidor, aplicações C/C++ que precisam de WebSocket em vez de WinHTTP Integra-se com proxy/auth-auth do WinHTTP; requer Windows 8+. Recomendado para cenários de serviço Win32.
Windows. Networking.Sockets (MessageWebSocket, StreamWebSocket) Aplicações UWP, aplicações modernas de ambiente de trabalho C++/WinRT API de nível mais alto; trata de enquadramento e TLS. As aplicações devem implementar a sua própria lógica de religação. Recomendado para novas aplicações de desktop/UWP.
Componente do Protocolo WebSocket (esta API — websocket.dll) Implementações de transporte personalizadas que requerem apenas enquadramento/análise de protocolos De baixo nível: não trata de I/O, atualização HTTP, autenticação ou proxy. Tens de fornecer o teu próprio transporte (normalmente Winsock + TLS bruto).
System.Net. WebSockets (.NET) Aplicações .NET Gerido, assíncrono primeiro, multiplataforma. Usar ClientWebSocket para clientes.
Bibliotecas de terceiros (libwebsockets, Boost.Beast, etc.) C/C++ multiplataforma Não é específico do Windows; útil quando se direciona para múltiplas plataformas.

Para a maioria das aplicações, WinHTTP WebSocket (serviços/Win32) ou Windows. Networking.Sockets (aplicações modernas) é a escolha correta. Use a API de Componente do Protocolo WebSocket de baixo nível apenas se precisar de enquadramento personalizado sobre um transporte que controla totalmente.

A API do componente do protocolo WebSocket permite canais de comunicação assíncronos e bidirecionais sobre HTTP que funcionam entre intermediários de rede existentes. Com a API do componente do protocolo WebSocket, um cliente usa HTTP para se comunicar com um servidor e, em seguida, ambos os lados alternam para usar o protocolo subjacente no qual o HTTP foi colocado em camadas (como TCP ou SSL). O objetivo é primeiro usar HTTP para atravessar intermediários de rede e, em seguida, usar o canal TCP/SSL subjacente estabelecido de ponta a ponta para comunicação bidirecional de aplicativos. O protocolo WebSocket [WSPROTO] é definido no IETF, enquanto uma API Javascript associada (WebSockets) é definida no WHATWG.

Nesta secção

Tópico Descrição
Tipos de dados da API do componente do protocolo WebSocket
A API do componente do protocolo WebSocket define esses tipos de dados.
Enumerações de API do componente de protocolo WebSocket
A API do componente do protocolo WebSocket define essas enumerações.
de funções da API do componente do protocolo WebSocket
A API do componente do protocolo WebSocket define essas funções.
Estruturas de API do componente do protocolo WebSocket
A API do componente do protocolo WebSocket define essas estruturas.

Público de desenvolvedores

A API do componente do protocolo WebSocket foi projetada para ser usada por programadores C/C++. É necessária familiaridade com redes HTTP e Windows.

Observação

A maneira preferida de usar o protocolo WebSocket no Windows é por meio do de API do Windows HTTP Services (WinHTTP) ou do de namespace Windows.Networking.Sockets .

Requisitos de tempo de execução

A API do componente do protocolo WebSocket requer o Windows 8 e versões posteriores do sistema operacional Windows. As APIs podem ser vinculadas dinamicamente por meio websocket.dll.

Observação

websocket.dll fornece suporte para cabeçalhos HTTP relacionados ao handshake do cliente e do servidor, verifica os dados de handshake recebidos e analisa o fluxo de dados WebSocket. Ele não lida com nenhuma operação específica de HTTP (redirecionamento, autenticação, suporte a proxy) nem executa nenhuma operação de E/S (envio ou recebimento de bytes de fluxo WebSocket).

HTTP

do Windows HTTP Services (WinHTTP)