Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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).