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
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.Connectivity
Exemplos