Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Classe TcpClient

Fornece conexões cliente de serviços de rede TCP.

System.Object
  System.Net.Sockets.TcpClient

Namespace:  System.Net.Sockets
Assembly:  System (em System.dll)

public class TcpClient : IDisposable

O tipo TcpClient expõe os membros a seguir.

  NomeDescrição
Método públicoTcpClient()Inicializa uma nova instância da classe TcpClient.
Método públicoTcpClient(AddressFamily)Inicializa uma nova instância da classe TcpClient com a família especificada.
Método públicoTcpClient(IPEndPoint)Inicializa uma nova instância da classe TcpClient e associá-lo ao ponto de extremidade local especificado.
Método públicoTcpClient(String, Int32)Inicializa uma nova instância da classe TcpClient e conecta-se a porta especificada no host especificado.
Superior

  NomeDescrição
Propriedade protegidaActiveObtém ou define um valor que indica se uma conexão foi feita.
Propriedade públicaAvailableObtém a quantidade de dados que foram recebidos de rede e estão disponíveis para ser lido.
Propriedade públicaClientObtém ou define Socketsubjacente.
Propriedade públicaConnectedObtém um valor indicando se Socket subjacente para TcpClient está conectado a um host remoto.
Propriedade públicaExclusiveAddressUseObtém ou define um valor de Boolean que especifica se somente TcpClient permite que um cliente use uma porta.
Propriedade públicaLingerStateObtém ou define informações sobre o estado do atraso de soquete associado.
Propriedade públicaNoDelayObtém ou define um valor que desativa um atraso enquanto enviar ou receber buffers não seja concluída.
Propriedade públicaReceiveBufferSizeObtém ou define o tamanho do buffer de receptor.
Propriedade públicaReceiveTimeoutObtém ou define a quantidade de tempo que TcpClient esperará para receber dados depois que uma operação de leitura é iniciada.
Propriedade públicaSendBufferSizeObtém ou define o tamanho do buffer de enviar.
Propriedade públicaSendTimeoutObtém ou define a quantidade de tempo TcpClient esperarão uma operação de enviar para concluir com êxito.
Superior

  NomeDescrição
Método públicoBeginConnect(IPAddress, Int32, AsyncCallback, Object)Inicia uma solicitação assíncrona para uma conexão host remoto. O host remoto é especificado por IPAddress e um número de porta (Int32).
Método públicoBeginConnect(IPAddress[], Int32, AsyncCallback, Object)Inicia uma solicitação assíncrona para uma conexão host remoto. O host remoto é especificado por uma matriz de IPAddress e um número de porta (Int32).
Método públicoBeginConnect(String, Int32, AsyncCallback, Object)Inicia uma solicitação assíncrona para uma conexão host remoto. O host remoto é especificado por um nome de host (String) e um número de porta (Int32).
Método públicoCloseDescarte essa instância de TcpClient e solicita que a conexão subjacente TCP é fechada.
Método públicoConnect(IPEndPoint)Conecta o cliente a um host remota TCP que usa o ponto final de rede remoto especificado.
Método públicoConnect(IPAddress, Int32)Conecta o cliente a um host remota TCP que usa o endereço IP e o número da porta especificados.
Método públicoConnect(IPAddress[], Int32)Conecta o cliente a um host remota TCP que usa os endereços IP e o número da porta especificados.
Método públicoConnect(String, Int32)Conecta o cliente para a porta especificada no host especificado.
Método públicoConnectAsync(IPAddress, Int32)Conecta o cliente a um host remota TCP que usa o endereço IP e o número da porta especificados como uma operação assíncrona.
Método públicoConnectAsync(IPAddress[], Int32)Conecta o cliente a um host remota TCP que usa os endereços IP e o número da porta especificados como uma operação assíncrona.
Método públicoConnectAsync(String, Int32)Conecta o cliente para a porta TCP especificada no host especificado como uma operação assíncrona.
Método protegidoDisposeLibera os recursos não gerenciados usados pelo TcpClient e opcionalmente libera os recursos gerenciados.
Método públicoEndConnectTermina uma tentativa assíncrono pendente de conexão.
Método públicoEquals(Object) Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegidoFinalizeLibera os recursos usados pela classe de TcpClient . (Substitui Object.Finalize().)
Método públicoGetHashCodeServe como a função de hash padrão. (Herdado de Object.)
Método públicoGetStreamRetorna NetworkStream usado para enviar e receber dados.
Método públicoGetType Obtém o Type da instância atual. (Herdado de Object.)
Método protegidoMemberwiseCloneCria uma cópia superficial do Object atual. (Herdado de Object.)
Método públicoToStringRetorna uma string que representa o objeto atual. (Herdado de Object.)
Superior

  NomeDescrição
Implementação explícita da interfaceMétodo particularIDisposable.DisposeInfraestrutura. Libera os recursos usados por TcpClient.
Superior

A classe de TcpClient fornece métodos simples para se conectar, enviar e receber dados de fluxo através de uma rede no modo síncrono de bloqueio.

Para que TcpClient a conexão e troca de dados, TcpListener ou Socket criado com o TCP ProtocolType devem escutar solicitações de conexão de entrada. Você pode se conectar a essa ouvinte em uma das duas maneiras:

  • Crie TcpClient e chamar um dos três métodos disponíveis de Connect .

  • Crie TcpClient usando o nome de host e o número da porta host remoto. Esse construtor tentará automaticamente uma conexão.

ObservaçãoObservação

Se você deseja enviar datagramas sem conexão no modo síncrono de bloqueio, use a classe de UdpClient .

Observações para herdeiros

Para enviar e receber dados, use o método de GetStream para obter NetworkStream. Chamar os métodos de Write e de Read de NetworkStream para enviar e receber dados com o host remoto. Use o método de Close para liberar quaisquer recursos associados com TcpClient.

O exemplo de código estabelece uma conexão de TcpClient .


static void Connect(String server, String message) 
{
  try 
  {
    // Create a TcpClient.
    // Note, for this client to work you need to have a TcpServer 
    // connected to the same address as specified by the server, port
    // combination.
    Int32 port = 13000;
    TcpClient client = new TcpClient(server, port);

    // Translate the passed message into ASCII and store it as a Byte array.
    Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);         

    // Get a client stream for reading and writing.
   //  Stream stream = client.GetStream();

    NetworkStream stream = client.GetStream();

    // Send the message to the connected TcpServer. 
    stream.Write(data, 0, data.Length);

    Console.WriteLine("Sent: {0}", message);         

    // Receive the TcpServer.response.

    // Buffer to store the response bytes.
    data = new Byte[256];

    // String to store the response ASCII representation.
    String responseData = String.Empty;

    // Read the first batch of the TcpServer response bytes.
    Int32 bytes = stream.Read(data, 0, data.Length);
    responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
    Console.WriteLine("Received: {0}", responseData);         

    // Close everything.
    stream.Close();         
    client.Close();         
  } 
  catch (ArgumentNullException e) 
  {
    Console.WriteLine("ArgumentNullException: {0}", e);
  } 
  catch (SocketException e) 
  {
    Console.WriteLine("SocketException: {0}", e);
  }

  Console.WriteLine("\n Press Enter to continue...");
  Console.Read();
}


.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

  • SocketPermission 

    Permissão estabelecer uma conexão de saída ou aceitar uma solicitação de entrada.

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos do sistema do .NET Framework.

Qualquer estático (Shared no Visual Basic) membro público desse tipo é thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft