Socket Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Implementa a interface de soquetes berkeley.
public ref class Socket : IDisposable
public class Socket : IDisposable
type Socket = class
interface IDisposable
Public Class Socket
Implements IDisposable
- Herança
-
Socket
- Implementações
Exemplos
O exemplo a seguir mostra como a Socket classe pode ser usada para enviar dados para um servidor HTTP, imprimindo a resposta ASCII para a saída padrão. Este exemplo bloqueia o thread de chamada até que toda a página seja recebida.
private static void SendHttpRequest(Uri? uri = null, int port = 80)
{
uri ??= new Uri("http://example.com");
// Construct a minimalistic HTTP/1.1 request
byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.0
Host: {uri.Host}
Connection: Close
");
// Create and connect a dual-stack socket
using Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
socket.Connect(uri.Host, port);
// Send the request.
// For the tiny amount of data in this example, the first call to Send() will likely deliver the buffer completely,
// however this is not guaranteed to happen for larger real-life buffers.
// The best practice is to iterate until all the data is sent.
int bytesSent = 0;
while (bytesSent < requestBytes.Length)
{
bytesSent += socket.Send(requestBytes, bytesSent, requestBytes.Length - bytesSent, SocketFlags.None);
}
// Do minimalistic buffering assuming ASCII response
byte[] responseBytes = new byte[256];
char[] responseChars = new char[256];
while (true)
{
int bytesReceived = socket.Receive(responseBytes);
// Receiving 0 bytes means EOF has been reached
if (bytesReceived == 0) break;
// Convert byteCount bytes to ASCII characters using the 'responseChars' buffer as destination
int charCount = Encoding.ASCII.GetChars(responseBytes, 0, bytesReceived, responseChars, 0);
// Print the contents of the 'responseChars' buffer to Console.Out
Console.Out.Write(responseChars, 0, charCount);
}
}
O próximo exemplo demonstra o mesmo cenário HTTP GET, usando APIs assíncronas baseadas em tarefa, ao mesmo tempo em que encaminha um CancellationToken para os métodos assíncronos, tornando toda a operação cancelável.
Dica
SocketOs métodos assíncronos que não tomam um CancellationToken normalmente retornam um Task, que é alocado no heap. As sobrecargas canceláveis são sempre ValueTask-retornando; usá-las ajuda a reduzir as alocações no código de alto desempenho.
private static async Task SendHttpRequestAsync(Uri? uri = null, int port = 80, CancellationToken cancellationToken = default)
{
uri ??= new Uri("http://example.com");
// Construct a minimalistic HTTP/1.1 request
byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.1
Host: {uri.Host}
Connection: Close
");
// Create and connect a dual-stack socket
using Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
await socket.ConnectAsync(uri.Host, port, cancellationToken);
// Send the request.
// For the tiny amount of data in this example, the first call to SendAsync() will likely deliver the buffer completely,
// however this is not guaranteed to happen for larger real-life buffers.
// The best practice is to iterate until all the data is sent.
int bytesSent = 0;
while (bytesSent < requestBytes.Length)
{
bytesSent += await socket.SendAsync(requestBytes.AsMemory(bytesSent), SocketFlags.None);
}
// Do minimalistic buffering assuming ASCII response
byte[] responseBytes = new byte[256];
char[] responseChars = new char[256];
while (true)
{
int bytesReceived = await socket.ReceiveAsync(responseBytes, SocketFlags.None, cancellationToken);
// Receiving 0 bytes means EOF has been reached
if (bytesReceived == 0) break;
// Convert byteCount bytes to ASCII characters using the 'responseChars' buffer as destination
int charCount = Encoding.ASCII.GetChars(responseBytes, 0, bytesReceived, responseChars, 0);
// Print the contents of the 'responseChars' buffer to Console.Out
await Console.Out.WriteAsync(responseChars.AsMemory(0, charCount), cancellationToken);
}
}
Comentários
Para obter mais informações sobre essa API, consulte comentários da API Complementar para Socket.
Construtores
| Nome | Description |
|---|---|
| Socket(AddressFamily, SocketType, ProtocolType) |
Inicializa uma nova instância da Socket classe usando a família de endereços, o tipo de soquete e o protocolo especificados. |
| Socket(SocketInformation) |
Inicializa uma nova instância da Socket classe usando o valor especificado retornado de DuplicateAndClose(Int32). |
| Socket(SocketType, ProtocolType) |
Inicializa uma nova instância da Socket classe usando o tipo de soquete e o protocolo especificados. Se o sistema operacional der suporte ao IPv6, esse construtor criará um soquete de modo duplo; caso contrário, ele cria um soquete IPv4. |
Propriedades
| Nome | Description |
|---|---|
| AddressFamily |
Obtém a família de endereços da Socket. |
| Available |
Obtém a quantidade de dados que foram recebidos da rede e estão disponíveis para serem lidos. |
| Blocking |
Obtém ou define um valor que indica se o Socket está no modo de bloqueio. |
| Connected |
Obtém um valor que indica se um Socket está conectado a um host remoto a partir da última Send ou Receive operação. |
| DontFragment |
Obtém ou define um valor que especifica se os Socket datagramas de IP (Protocolo de Internet) são fragmentados. |
| DualMode |
Obtém ou define um valor que especifica se o Socket soquete de modo duplo é usado para IPv4 e IPv6. |
| EnableBroadcast |
Obtém ou define um Boolean valor que especifica se os Socket pacotes de transmissão podem ser enviados. |
| ExclusiveAddressUse |
Obtém ou define um valor que indica se o Socket processo permite que apenas um processo seja associado a uma porta. |
| Handle |
Obtém o identificador do sistema operacional para o Socket. |
| IsBound |
Obtém um valor que indica se o Socket está associado a uma porta local específica. |
| LingerState |
Obtém ou define um valor que especifica se o atraso será o Socket fechamento de um soquete na tentativa de enviar todos os dados pendentes. |
| LocalEndPoint |
Obtém o ponto de extremidade local. |
| MulticastLoopback |
Obtém ou define um valor que especifica se os pacotes multicast de saída são entregues ao aplicativo de envio. |
| NoDelay |
Obtém ou define um Boolean valor que especifica se o fluxo Socket está usando o algoritmo Nagle. |
| OSSupportsIPv4 |
Indica se o sistema operacional subjacente e os adaptadores de rede dão suporte ao Protocolo de Internet versão 4 (IPv4). |
| OSSupportsIPv6 |
Indica se o sistema operacional subjacente e os adaptadores de rede dão suporte ao Protocolo de Internet versão 6 (IPv6). |
| ProtocolType |
Obtém o tipo de protocolo do Socket. |
| ReceiveBufferSize |
Obtém ou define um valor que especifica o tamanho do buffer de recebimento do Socket. |
| ReceiveTimeout |
Obtém ou define um valor que especifica a quantidade de tempo após o qual uma chamada síncrona Receive terá um tempo limite. |
| RemoteEndPoint |
Obtém o ponto de extremidade remoto. |
| SendBufferSize |
Obtém ou define um valor que especifica o tamanho do buffer de envio do Socket. |
| SendTimeout |
Obtém ou define um valor que especifica a quantidade de tempo após o qual uma chamada síncrona Send terá um tempo limite. |
| SocketType |
Obtém o tipo do Socket. |
| SupportsIPv4 |
Obsoleto.
Obsoleto.
Obtém um valor que indica se o suporte ao IPv4 está disponível e habilitado no host atual. |
| SupportsIPv6 |
Obsoleto.
Obsoleto.
Obtém um valor que indica se o Framework dá suporte ao IPv6 para determinados membros obsoletos Dns . |
| Ttl |
Obtém ou define um valor que especifica o valor de TTL (Vida Útil) de pacotes de IP (Protocolo de Internet) enviados pelo Socket. |
| UseOnlyOverlappedIO |
Obtém ou define um valor que especifica se o soquete deve usar apenas o modo de E/S sobreposto. No .NET 5+ (incluindo versões do .NET Core), o valor é sempre |
Métodos
| Nome | Description |
|---|---|
| Accept() |
Cria uma nova Socket para uma conexão recém-criada. |
| AcceptAsync(SocketAsyncEventArgs) |
Inicia uma operação assíncrona para aceitar uma tentativa de conexão de entrada. |
| BeginAccept(AsyncCallback, Object) |
Inicia uma operação assíncrona para aceitar uma tentativa de conexão de entrada. |
| BeginAccept(Int32, AsyncCallback, Object) |
Inicia uma operação assíncrona para aceitar uma tentativa de conexão de entrada e recebe o primeiro bloco de dados enviados pelo aplicativo cliente. |
| BeginAccept(Socket, Int32, AsyncCallback, Object) |
Inicia uma operação assíncrona para aceitar uma tentativa de conexão de entrada de um soquete especificado e recebe o primeiro bloco de dados enviados pelo aplicativo cliente. |
| BeginConnect(EndPoint, AsyncCallback, Object) |
Inicia uma solicitação assíncrona para uma conexão de host remoto. |
| BeginConnect(IPAddress, Int32, AsyncCallback, Object) |
Inicia uma solicitação assíncrona para uma conexão de host remoto. O host é especificado por um número de porta e um IPAddress número de porta. |
| BeginConnect(IPAddress[], Int32, AsyncCallback, Object) |
Inicia uma solicitação assíncrona para uma conexão de host remoto. O host é especificado por uma IPAddress matriz e um número de porta. |
| BeginConnect(String, Int32, AsyncCallback, Object) |
Inicia uma solicitação assíncrona para uma conexão de host remoto. O host é especificado por um nome de host e um número de porta. |
| BeginDisconnect(Boolean, AsyncCallback, Object) |
Inicia uma solicitação assíncrona para se desconectar de um ponto de extremidade remoto. |
| BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Começa a receber dados de forma assíncrona de um conectado Socket. |
| BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Começa a receber dados de forma assíncrona de um conectado Socket. |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Começa a receber dados de forma assíncrona de um conectado Socket. |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Começa a receber dados de forma assíncrona de um conectado Socket. |
| BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Começa a receber dados de forma assíncrona de um dispositivo de rede especificado. |
| BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Começa a receber de forma assíncrona o número especificado de bytes de dados no local especificado do buffer de dados, usando o especificado SocketFlags, e armazena as informações de ponto de extremidade e pacote. |
| BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Envia dados de forma assíncrona para um conectado Socket. |
| BeginSend(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Envia dados de forma assíncrona para um conectado Socket. |
| BeginSend(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Envia dados de forma assíncrona para um conectado Socket. |
| BeginSend(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Envia dados de forma assíncrona para um conectado Socket. |
| BeginSendFile(String, AsyncCallback, Object) |
Envia o arquivo |
| BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object) |
Envia um arquivo e buffers de dados de forma assíncrona para um objeto conectado Socket . |
| BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Envia dados de forma assíncrona para um host remoto específico. |
| Bind(EndPoint) |
Associa um a um Socket ponto de extremidade local. |
| CancelConnectAsync(SocketAsyncEventArgs) |
Cancela uma solicitação assíncrona para uma conexão de host remoto. |
| Close() |
Fecha a Socket conexão e libera todos os recursos associados. |
| Close(Int32) |
Fecha a Socket conexão e libera todos os recursos associados com um tempo limite especificado para permitir que os dados enfileirados sejam enviados. |
| Connect(EndPoint) |
Estabelece uma conexão com um host remoto. |
| Connect(IPAddress, Int32) |
Estabelece uma conexão com um host remoto. O host é especificado por um endereço IP e um número de porta. |
| Connect(IPAddress[], Int32) |
Estabelece uma conexão com um host remoto. O host é especificado por uma matriz de endereços IP e um número de porta. |
| Connect(String, Int32) |
Estabelece uma conexão com um host remoto. O host é especificado por um nome de host e um número de porta. |
| ConnectAsync(SocketAsyncEventArgs) |
Inicia uma solicitação assíncrona para uma conexão com um host remoto. |
| ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs) |
Inicia uma solicitação assíncrona para uma conexão com um host remoto. |
| Disconnect(Boolean) |
Fecha a conexão do soquete e permite a reutilização do soquete. |
| DisconnectAsync(SocketAsyncEventArgs) |
Inicia uma solicitação assíncrona para se desconectar de um ponto de extremidade remoto. |
| Dispose() |
Libera todos os recursos usados pela instância atual da Socket classe. |
| Dispose(Boolean) |
Libera os recursos não gerenciados usados pelo Sockete, opcionalmente, descarta os recursos gerenciados. |
| DuplicateAndClose(Int32) |
Duplica a referência do soquete para o processo de destino e fecha o soquete para esse processo. |
| EndAccept(Byte[], IAsyncResult) |
Aceita de forma assíncrona uma tentativa de conexão de entrada e cria um novo Socket objeto para lidar com a comunicação remota do host. Esse método retorna um buffer que contém os dados iniciais transferidos. |
| EndAccept(Byte[], Int32, IAsyncResult) |
Aceita de forma assíncrona uma tentativa de conexão de entrada e cria um novo Socket objeto para lidar com a comunicação remota do host. Esse método retorna um buffer que contém os dados iniciais e o número de bytes transferidos. |
| EndAccept(IAsyncResult) |
Aceita de forma assíncrona uma tentativa de conexão de entrada e cria uma nova Socket para lidar com a comunicação remota do host. |
| EndConnect(IAsyncResult) |
Encerra uma solicitação de conexão assíncrona pendente. |
| EndDisconnect(IAsyncResult) |
Encerra uma solicitação de desconexão assíncrona pendente. |
| EndReceive(IAsyncResult, SocketError) |
Termina uma leitura assíncrona pendente. |
| EndReceive(IAsyncResult) |
Termina uma leitura assíncrona pendente. |
| EndReceiveFrom(IAsyncResult, EndPoint) |
Encerra uma leitura assíncrona pendente de um ponto de extremidade específico. |
| EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) |
Encerra uma leitura assíncrona pendente de um ponto de extremidade específico. Esse método também revela mais informações sobre o pacote do que EndReceiveFrom(IAsyncResult, EndPoint). |
| EndSend(IAsyncResult, SocketError) |
Encerra um envio assíncrono pendente. |
| EndSend(IAsyncResult) |
Encerra um envio assíncrono pendente. |
| EndSendFile(IAsyncResult) |
Encerra um envio assíncrono pendente de um arquivo. |
| EndSendTo(IAsyncResult) |
Encerra um envio assíncrono pendente para um local específico. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| Finalize() |
Libera recursos usados pela Socket classe. |
| GetHashCode() |
Retorna um valor de hash para uma Socket instância. |
| GetHashCode() |
Serve como a função hash predefinida. (Herdado de Object) |
| GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Retorna a configuração de opção especificada Socket , representada como uma matriz de bytes. |
| GetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Retorna o valor da opção especificada Socket em uma matriz. |
| GetSocketOption(SocketOptionLevel, SocketOptionName) |
Retorna o valor de uma opção especificada Socket , representada como um objeto. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IOControl(Int32, Byte[], Byte[]) |
Define modos operacionais de baixo nível para os Socket códigos de controle numéricos usados. |
| IOControl(IOControlCode, Byte[], Byte[]) |
Define modos operacionais de baixo nível para o Socket uso da IOControlCode enumeração para especificar códigos de controle. |
| Listen(Int32) |
Coloca um Socket em um estado de escuta. |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| Poll(Int32, SelectMode) |
Determina o status do Socket. |
| Receive(Byte[], Int32, Int32, SocketFlags, SocketError) |
Recebe dados de um limite Socket em um buffer de recebimento, usando o especificado SocketFlags. |
| Receive(Byte[], Int32, Int32, SocketFlags) |
Recebe o número especificado de bytes de um limite Socket para a posição de deslocamento especificada do buffer de recebimento, usando o especificado SocketFlags. |
| Receive(Byte[], Int32, SocketFlags) |
Recebe o número especificado de bytes de dados de um limite Socket em um buffer de recebimento, usando o especificado SocketFlags. |
| Receive(Byte[], SocketFlags) |
Recebe dados de um limite Socket em um buffer de recebimento, usando o especificado SocketFlags. |
| Receive(Byte[]) |
Recebe dados de um limite Socket em um buffer de recebimento. |
| Receive(IList<ArraySegment<Byte>>, SocketFlags, SocketError) |
Recebe dados de um limite Socket na lista de buffers de recebimento, usando o especificado SocketFlags. |
| Receive(IList<ArraySegment<Byte>>, SocketFlags) |
Recebe dados de um limite Socket na lista de buffers de recebimento, usando o especificado SocketFlags. |
| Receive(IList<ArraySegment<Byte>>) |
Recebe dados de um limite Socket na lista de buffers de recebimento. |
| Receive(Span<Byte>, SocketFlags, SocketError) |
Recebe dados de um limite Socket em um buffer de recebimento, usando o especificado SocketFlags. |
| Receive(Span<Byte>, SocketFlags) |
Recebe dados de um limite Socket em um buffer de recebimento, usando o especificado SocketFlags. |
| Receive(Span<Byte>) |
Recebe dados de um limite Socket em um buffer de recebimento. |
| ReceiveAsync(SocketAsyncEventArgs) |
Inicia uma solicitação assíncrona para receber dados de um objeto conectado Socket . |
| ReceiveFrom(Byte[], EndPoint) |
Recebe um datagram no buffer de dados e armazena o ponto de extremidade. |
| ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint) |
Recebe o número especificado de bytes de dados no local especificado do buffer de dados, usando o ponto de extremidade especificado SocketFlags, e armazena o ponto de extremidade. |
| ReceiveFrom(Byte[], Int32, SocketFlags, EndPoint) |
Recebe o número especificado de bytes no buffer de dados, usando o ponto de extremidade especificado SocketFlagse armazena o ponto de extremidade. |
| ReceiveFrom(Byte[], SocketFlags, EndPoint) |
Recebe um datagram no buffer de dados, usando o especificado SocketFlagse armazena o ponto de extremidade. |
| ReceiveFromAsync(SocketAsyncEventArgs) |
Começa a receber dados de forma assíncrona de um dispositivo de rede especificado. |
| ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation) |
Recebe o número especificado de bytes de dados no local especificado do buffer de dados, usando o especificado SocketFlags, e armazena as informações de ponto de extremidade e pacote. |
| ReceiveMessageFromAsync(SocketAsyncEventArgs) |
Começa a receber de forma assíncrona o número especificado de bytes de dados no local especificado no buffer de dados, usando o especificado SocketFlagse armazena as informações de ponto de extremidade e pacote. |
| Select(IList, IList, IList, Int32) |
Determina o status de um ou mais soquetes. |
| Send(Byte[], Int32, Int32, SocketFlags, SocketError) |
Envia o número especificado de bytes de dados para um conectado Socket, começando no deslocamento especificado e usando o especificado SocketFlags. |
| Send(Byte[], Int32, Int32, SocketFlags) |
Envia o número especificado de bytes de dados para um conectado Socket, começando no deslocamento especificado e usando o especificado SocketFlags. |
| Send(Byte[], Int32, SocketFlags) |
Envia o número especificado de bytes de dados para um conectado Socketusando o especificado SocketFlags. |
| Send(Byte[], SocketFlags) |
Envia dados para um conectado Socket usando o especificado SocketFlags. |
| Send(Byte[]) |
Envia dados para um conectado Socket. |
| Send(IList<ArraySegment<Byte>>, SocketFlags, SocketError) |
Envia o conjunto de buffers na lista para um conectado Socketusando o .SocketFlags |
| Send(IList<ArraySegment<Byte>>, SocketFlags) |
Envia o conjunto de buffers na lista para um conectado Socketusando o .SocketFlags |
| Send(IList<ArraySegment<Byte>>) |
Envia o conjunto de buffers na lista para um conectado Socket. |
| Send(ReadOnlySpan<Byte>, SocketFlags, SocketError) |
Envia dados para um conectado Socket usando o especificado SocketFlags. |
| Send(ReadOnlySpan<Byte>, SocketFlags) |
Envia dados para um conectado Socket usando o especificado SocketFlags. |
| Send(ReadOnlySpan<Byte>) |
Envia dados para um conectado Socket. |
| SendAsync(SocketAsyncEventArgs) |
Envia dados de forma assíncrona para um objeto conectado Socket . |
| SendFile(String, Byte[], Byte[], TransmitFileOptions) |
Envia o arquivo |
| SendFile(String) |
Envia o arquivo |
| SendPacketsAsync(SocketAsyncEventArgs) |
Envia uma coleção de arquivos ou buffers de dados de memória de forma assíncrona para um objeto conectado Socket . |
| SendTo(Byte[], EndPoint) |
Envia dados para o ponto de extremidade especificado. |
| SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint) |
Envia o número especificado de bytes de dados para o ponto de extremidade especificado, começando no local especificado no buffer e usando o especificado SocketFlags. |
| SendTo(Byte[], Int32, SocketFlags, EndPoint) |
Envia o número especificado de bytes de dados para o ponto de extremidade especificado usando o especificado SocketFlags. |
| SendTo(Byte[], SocketFlags, EndPoint) |
Envia dados para um ponto de extremidade específico usando o especificado SocketFlags. |
| SendToAsync(SocketAsyncEventArgs) |
Envia dados de forma assíncrona para um host remoto específico. |
| SetIPProtectionLevel(IPProtectionLevel) |
Define o nível de proteção ip em um soquete. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) |
Define a opção especificada Socket como o valor especificado Boolean . |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Define a opção especificada Socket como o valor especificado, representado como uma matriz de bytes. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Define a opção especificada Socket como o valor inteiro especificado. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Object) |
Define a opção especificada Socket como o valor especificado, representado como um objeto. |
| Shutdown(SocketShutdown) |
Desabilita envios e recebimentos em um Socket. |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IDisposable.Dispose() |
Esta API dá suporte à infraestrutura do produto e não deve ser usada diretamente do seu código. Libera todos os recursos usados pelo Socket. |
Métodos de Extensão
| Nome | Description |
|---|---|
| AcceptAsync(Socket, Socket) |
Executa uma operação assíncrona para aceitar uma tentativa de conexão de entrada no soquete. |
| AcceptAsync(Socket) |
Executa uma operação assíncrona para aceitar uma tentativa de conexão de entrada no soquete. |
| ConnectAsync(Socket, EndPoint) |
Estabelece uma conexão com um host remoto. |
| ConnectAsync(Socket, IPAddress, Int32) |
Estabelece uma conexão com um host remoto. O host é especificado por um endereço IP e um número de porta. |
| ConnectAsync(Socket, IPAddress[], Int32) |
Estabelece uma conexão com um host remoto. O host é especificado por uma matriz de endereços IP e um número de porta. |
| ConnectAsync(Socket, String, Int32) |
Estabelece uma conexão com um host remoto. O host é especificado por um nome de host e um número de porta. |
| ReceiveAsync(Socket, ArraySegment<Byte>, SocketFlags) |
Recebe dados de um soquete conectado. |
| ReceiveAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags) |
Recebe dados de um soquete conectado. |
| ReceiveAsync(Socket, Memory<Byte>, SocketFlags, CancellationToken) |
Recebe dados de um soquete conectado. |
| ReceiveFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint) |
Recebe dados de um dispositivo de rede especificado. |
| ReceiveMessageFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint) |
Recebe o número especificado de bytes de dados no local especificado do buffer de dados, usando o especificado SocketFlags, e armazena as informações de ponto de extremidade e pacote. |
| SendAsync(Socket, ArraySegment<Byte>, SocketFlags) |
Envia dados para um soquete conectado. |
| SendAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags) |
Envia dados para um soquete conectado. |
| SendAsync(Socket, ReadOnlyMemory<Byte>, SocketFlags, CancellationToken) |
Envia dados para um soquete conectado. |
| SendToAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint) |
Envia dados de forma assíncrona para um host remoto específico. |
Aplica-se a
Acesso thread-safe
É seguro executar uma operação de envio e recebimento simultaneamente em uma Socket instância, mas não é recomendável emitir várias chamadas de envio ou de recebimento simultaneamente. Dependendo da implementação da plataforma subjacente, isso pode levar à intercalação de dados não intencional para envios ou recebimentos grandes ou de vários buffers.
Confira também
- System.Net
- System.Net.Cache
- System.Net.Security
- SocketAsyncEventArgs
- Programação de rede no .NET Framework
- Práticas recomendadas para classes System.Net
- Gerenciamento de cache para aplicativos de rede
- Protocolo da Internet versão 6
- Exemplos de programação de rede
- Rastreamento de rede no .NET Framework
- Segurança na programação de rede
- Aprimoramentos de desempenho do soquete na versão 3.5