Skip to main content
Este artigo fornece uma visão geral das solicitações da Web HTTP (Hypertext Transfer Protocol) e WebSocket para títulos do Microsoft Game Development Kit (GDK). Começar com o conjunto de APIs certo facilita a implementação de solicitações da Web seguras e robustas.

APIs comuns para títulos do GDK

As APIs a seguir são comumente usadas para solicitações da Web seguras e robustas em títulos do Microsoft Game Development Kit (GDK). Elas também ajudam a simplificar a implementação. Serviços HTTP do Windows (WinHTTP) O WinHTTP também pode ser usado para criar pontos de extremidade de serviço HTTP e WebSocket em PCs e consoles XBOX sem alterações de código. Como essa API não trata automaticamente todas as práticas recomendadas de segurança, leia a Visão geral da segurança da comunicação (artigo sob NDA) e a Visão geral do WinHTTP para saber como garantir que sua implementação seja segura e robusta. O xCurl trata as práticas recomendadas de segurança, incluindo a validação da cadeia de certificados e as verificações de conectividade de rede. Ele também gerencia automaticamente a inicialização da rede e a suspensão/retomada. Se o seu título usar o WinHTTP ou outra pilha HTTP em vez do xCurl, considere que o título é responsável pelo trabalho de integração com a plataforma, como a inicialização da rede, o tratamento de suspensão/retomada e a configuração de segurança explícita. Para obter diretrizes sobre sequenciamento e ciclo de vida, consulte Inicialização e conectividade de rede e Visão geral do WinHTTP. Para fluxos de trabalho de depuração baseados em proxy no XBOX, comece com Fiddler em consoles XBOX One. Se o seu título usar uma pilha personalizada, consulte Depuração de pilhas HTTP personalizadas para obter diretrizes sobre proxy e certificados específicas do XBOX.

xCurl

O xCurl é uma API HTTP disponível para títulos do Microsoft Game Development Kit (GDK). Ele simplifica o desenvolvimento de títulos ao seguir automaticamente todas as práticas recomendadas de segurança. Como a superfície da API corresponde amplamente à libCurl, ele também oferece toda a flexibilidade e o conjunto de recursos HTTP da libCurl. Para saber mais sobre a API xCurl e as diferenças entre o xCurl e a libCurl, consulte a Visão geral do xCurl.

XSAPI

A XBOX Services API (XSAPI) fornece um wrapper REST genérico para títulos do Microsoft Game Development Kit (GDK). Esse wrapper é simples de usar e segue o modelo de API assíncrona do Microsoft Game Development Kit (GDK). Se o seu título só precisar fazer solicitações HTTP REST, essa provavelmente será a interface mais simples de usar.
  1. Use XblHttpCallCreate para criar um identificador HTTP para acompanhar sua solicitação REST.
  2. Preencha o corpo e qualquer configuração adicional com uma das funções XblHttpCallRequestSet*.
  3. Chame XblHttpCallPerformAsync para fazer a solicitação.
  4. Para recuperar a resposta, use uma das funções XblHttpCallGet*.
  5. Feche o identificador usando XblHttpCallCloseHandle.

libHttpClient

A libHttpClient foi projetada para permitir a comunicação bidirecional. Ela é uma camada de abstração projetada para uso pela XBOX Live Service API (XSAPI) para habilitar pontos de extremidade de serviço HTTP e WebSocket. A API está no Game Development Kit (GDK) como parte da XSAPI.

Suspensão e retomada com a libHttpClient

Ao contrário do xCurl, a libHttpClient não drena nem encerra automaticamente o trabalho em andamento quando o título é suspenso. Os títulos que usam a libHttpClient (incluindo seu suporte a WebSocket) devem tratar o ciclo de vida de suspensão/retomada explicitamente. Os consoles de varejo entram em suspensão no modo de espera, portanto, uma conexão WebSocket ou uma operação assíncrona deixada aberta durante a suspensão pode travar ou falhar na retomada, mesmo quando o mesmo título é suspenso e retomado sem problemas em um kit de desenvolvimento. Na suspensão ou no desligamento:
  • Pare de enfileirar novos trabalhos HTTP e WebSocket.
  • Cancele ou drene as solicitações em andamento e os envios e recebimentos de WebSocket.
  • Feche as conexões WebSocket e destrua os identificadores de chamadas HTTP, as sessões e os soquetes que não devem sobreviver à suspensão.
Na retomada, aguarde até que XNetworkingConnectivityHint::networkInitialized seja true antes de recriar o estado da libHttpClient ou reabrir as conexões WebSocket. Para conhecer as regras completas de sequenciamento e o raciocínio por trás delas, consulte Detectar o status de inicialização da rede e as diretrizes de ciclo de vida do jogo em Responder à suspensão e à retomada.

Confira também

Serviços HTTP do Windows (WinHTTP) libCurl Configurar serviços Web no Partner Center (artigo sob NDA) Fiddler em consoles XBOX One Visão geral da segurança da comunicação (artigo sob NDA)
Last modified on October 6, 2026