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.
Observação
Este artigo fornece observações complementares à documentação de referência para esta API.
A Socket classe fornece um rico conjunto de métodos e propriedades para comunicações de rede. A Socket classe permite que você execute a transferência de dados síncrona e assíncrona ProtocolType usando qualquer um dos protocolos de comunicação listados na enumeração.
A Socket classe segue o padrão de nomenclatura .NET para métodos assíncronos. Por exemplo, o método síncrono Receive corresponde às variantes assíncronas ReceiveAsync .
Use os seguintes métodos para o modo de operação síncrona:
- Se você estiver usando um protocolo orientado a conexão, como TCP, seu servidor poderá escutar conexões usando o Listen método. O Accept método processa todas as solicitações de conexão de entrada e retorna um Socket que você pode usar para comunicar dados com o host remoto. Use o valor retornado Socket para chamar o método Send ou Receive. Chame o Bind método antes de chamá-lo Listen se desejar especificar o endereço IP local e o número da porta. Use um número de porta zero se desejar que o provedor de serviços subjacente atribua uma porta livre para você. Se você quiser se conectar a um host de escuta, chame o Connect método. Para comunicar dados, chame o método Send ou Receive.
- Se você estiver usando um protocolo sem conexão, como UDP, não precisará ouvir conexões. Chame o ReceiveFrom método para aceitar quaisquer datagramas de entrada. Use o SendTo método para enviar datagramas para um host remoto.
Para processar comunicações de forma assíncrona, use os seguintes métodos:
- Se você estiver usando um protocolo orientado a conexão, como TCP, use ConnectAsync para se conectar com um host de escuta. Use SendAsync ou ReceiveAsync para comunicar dados de forma assíncrona. As solicitações de conexão de entrada podem ser processadas usando AcceptAsync.
- Se você estiver usando um protocolo sem conexão, como UDP, poderá usar SendToAsync para enviar datagramas e ReceiveFromAsyncreceber datagramas.
Se você executar várias operações assíncronas em um soquete, elas não serão necessariamente concluídas na ordem em que são iniciadas.
Quando terminar de enviar e receber dados, use o Shutdown método para desativar o Socket. Depois de chamar Shutdown, chame o Close método para liberar todos os recursos associados ao Socket.
A Socket classe permite que você configure seu Socket usando o SetSocketOption método. Recupere essas configurações usando o GetSocketOption método.