Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece comentários complementares à documentação de referência para esta API.
A Socket classe fornece um conjunto avançado 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 usando qualquer um dos protocolos de comunicação listados na ProtocolType enumeração.
A Socket classe segue o padrão de nomenclatura do .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íncrono:
- Se você estiver usando um protocolo orientado à conexão, como o TCP, o 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 este Socket retornado para chamar o método Send ou Receive. Chame o Bind método antes de chamar o Listen método se você quiser 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 gratuita 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 o UDP, não precisará escutar conexões. Chame o ReceiveFrom método para aceitar qualquer datagrama de entrada. Use o SendTo método para enviar datagramas para um host remoto.
Para processar as comunicações de forma assíncrona, use os seguintes métodos:
- Se você estiver usando um protocolo orientado à conexão, como o TCP, use ConnectAsync para se conectar com um host de escuta. Use SendAsync ou ReceiveAsync comunique 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 necessariamente serão concluídas na ordem em que são iniciadas.
Quando terminar de enviar e receber dados, use o Shutdown método para desabilitar 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 o Socket usando o método SetSocketOption. Recupere essas configurações usando o GetSocketOption método.