Conectando-se com soquetes (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

Envia e receba dados com soquetes TCP ou UDP no seu aplicativo da Windows Store usando recursos no namespace Windows.Networking.Sockets.

Soquetes fornecem uma interface de baixo nível para o envio e o recebimento de dados de rede. As classes principais para uso com soquetes incluem as seguintes:

  • DatagramSocket - Usada para suportar comunicação de rede usando um socket de datagrama de UDP.
  • StreamSocket - Usada para suportar comunicação de rede usando um socket de fluxo de TCP.
  • StreamSocketListener - Usada para suportar a escuta para uma conexão de rede usando um socket de fluxo de TCP.

As classes principais listadas acima também têm diversas classes de suporte relacionadas no namespace do Windows.Networking.Sockets usadas com essas classes.

Audiência de desenvolvedores

Criada para ser usada por desenvolvedores de JavaScript/C#/VB.NET/C++ interessados em habilitar o uso de soquetes para comunicações de rede em seus aplicativos do Tempo de Execução do Windows. Esse recurso contém soquetes TCP e UDP, incluindo multicast UDP, para permitir que os desenvolvedores implementem outros protocolos de rede de camada mais elevada. Os sockets TCP e UDP podem ser usados por um aplicativo para fazer conexões clientes, escutar as conexões e funcionar como um servidor, ou para operações cliente e de servidor.

Considere o uso dos seguintes protocolos com base nos requisitos do seu aplicativo.

Se o seu aplicativo Usar

Conecta-se a um serviço de rede que usa um protocolo existente (SMTP, POP, IMAP ou MAPI para email, por exemplo) que não seja suportado diretamente por outros recursos de rede

Sockets TCP ou UDP

Conecta-se a outra máquina na mesma rede local

Sockets TCP ou UDP

Requer um simples protocolo de solicitação\resposta que possa se comunicar por meio de proxies de HTTP.

APIs REST (Representational State Transfer) disponíveis em C#, VB.NET e C++

Requer semântica de socket (transferências assíncronas e bidirecionais) para conectar-se por meio da Web, incluindo por meio de proxies de HTTP.

WebSockets

 

Sockets são suportados pelas classes nos namespaces de Windows.Networking.Sockets e Windows.Networking.

O Windows 8 também apresenta um novo tipo de soquete, um WebSocket. Para saber mais, consulte Conectando-se com WebSockets e as classes MessageWebSocket e StreamWebSocket.

Nesta seção

Tópico Descrição
Como conectar-se a um soquete de fluxo

Saiba como conectar-se a um recurso de rede com um socket de fluxo usando TCP para enviar e receber dados.

Como conectar-se a um soquete de datagrama

Saiba como conectar-se a um recurso de rede com um socket de datagrama usando TCP para enviar e receber dados.

Como usar controles de socket avançados

Saiba como usar controles de socket avançados ao usar um DatagramSocket, StreamSocket ou StreamSocketListener.

Como proteger conexões de socket com TLS/SSL

Saiba como proteger conexões de socket com TLS/SSL ao usar um StreamSocket.

Como definir tempos limites em operações de soquetes

Aprenda a definir tempos limites em operações de soquete de rede para limitar o tempo de espera até a conclusão de uma operação.

 

Usando sockets com isolamento de rede

O recurso de isolamento de rede no Windows 8.1, Windows Phone 8.1 e Windows Server 2012 R2 permite que o desenvolvedor controle e limite o acesso à rede por meio de um aplicativo do Tempo de Execução do Windows. Nem todos os aplicativos exigem acesso à rede. Porém, para os aplicativos que fazem isso, o Windows 8.1 e o Windows Server 2012 R2 oferecem diferentes níveis de acesso à rede que podem ser ativados selecionando recursos adequados.

O isolamento de rede permite que um desenvolvedor defina o escopo necessário de acesso à rede para cada aplicativo. Um aplicativo sem o escopo apropriado definido não consegue acessar o tipo especificado de rede e o tipo específico de solicitação de rede (solicitações de saída iniciadas pelo cliente ou solicitações de entrada não solicitadas e de saída iniciadas pelo cliente). A capacidade de definir e impor o isolamento de rede garante que, se um aplicativo não ficar comprometido, ele só poderá acessar as redes às quais o aplicativo recebeu acesso explicitamente. Isto reduz significativamente o âmbito do impacto sobre outros aplicativos e sobre o Windows.

O isolamento de rede afeta todos os elementos de classe no Windows.Networking.Sockets e namespaces relacionados que tentam acessar a rede. O Windows impõe ativamente o isolamento de rede. Uma chamada a um elemento de classe no namespace Windows.Networking.Sockets que resulta em acesso à rede pode falhar devido ao isolamento de rede se o recurso de rede adequado não for ativado.

Os recursos de rede para um aplicativo são configurados no manifesto do aplicativo quando o aplicativo é compilado. Geralmente, os recursos de rede são adicionados usando o Microsoft Visual Studio 2013 ao desenvolver o aplicativo. Os recursos de rede também podem ser definidos manualmente no arquivo manifesto do aplicativo usando um editor de texto.

Para obter mais informações detalhadas sobre o isolamento de rede, consulte Como configurar recursos de isolamento de rede.

Tópicos relacionados

Outros recursos

Adicionando suporte para recursos de rede

Conectando-se com WebSockets

Como configurar recursos de isolamento de rede

Como definir opções de conectividade em segundo plano

Solucionar problemas de conexões de rede e depurá-las

Referência

Windows.Networking

Windows.Networking.Connectivity

Windows.Networking.Sockets

Exemplos

Exemplo de DatagramSocket

Exemplo do StreamSocket