Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como criar um TcpClient em C# no Windows

O TcpClient é uma classe do .NET Framework que facilita a comunicação via protocolo TCP (Transmission Control Protocol). Este protocolo é amplamente utilizado em redes de computadores para garantir a entrega confiável de dados. No ambiente Windows, o TcpClient é frequentemente utilizado para desenvolver aplicações que necessitam de comunicação em rede, como clientes de chat, aplicativos de monitoramento e sistemas de controle remoto. Este artigo irá guiá-lo através do processo de criação de um TcpClient em C# no Windows, destacando sua importância e fornecendo exemplos práticos.

Exemplos:

  1. Criando um TcpClient em C#:

    Primeiro, vamos criar um projeto de console no Visual Studio para implementar um TcpClient.

    using System;
    using System.Net.Sockets;
    using System.Text;
    
    class Program
    {
       static void Main(string[] args)
       {
           try
           {
               // Cria uma instância do TcpClient
               TcpClient client = new TcpClient("127.0.0.1", 8080);
    
               // Converte a mensagem em um array de bytes
               string message = "Hello, Server!";
               byte[] data = Encoding.ASCII.GetBytes(message);
    
               // Obtém o stream para enviar a mensagem
               NetworkStream stream = client.GetStream();
    
               // Envia a mensagem
               stream.Write(data, 0, data.Length);
               Console.WriteLine("Mensagem enviada: {0}", message);
    
               // Recebe a resposta do servidor
               data = new byte[256];
               int bytes = stream.Read(data, 0, data.Length);
               string responseData = Encoding.ASCII.GetString(data, 0, bytes);
               Console.WriteLine("Resposta recebida: {0}", responseData);
    
               // Fecha o stream e o cliente
               stream.Close();
               client.Close();
           }
           catch (Exception e)
           {
               Console.WriteLine("Exceção: {0}", e.Message);
           }
    
           Console.WriteLine("\nPressione ENTER para continuar...");
           Console.Read();
       }
    }
  2. Configurando o Servidor para Teste:

    Para testar o TcpClient, podemos criar um simples servidor TCP em C# que escutará na porta 8080 e responderá às mensagens recebidas.

    using System;
    using System.Net;
    using System.Net.Sockets;
    using System.Text;
    
    class Program
    {
       static void Main(string[] args)
       {
           TcpListener server = null;
           try
           {
               // Define o endereço IP e a porta para o servidor
               Int32 port = 8080;
               IPAddress localAddr = IPAddress.Parse("127.0.0.1");
    
               // Cria uma instância do TcpListener
               server = new TcpListener(localAddr, port);
    
               // Inicia o servidor
               server.Start();
    
               // Buffer para leitura de dados
               Byte[] bytes = new Byte[256];
               String data = null;
    
               // Aguarda uma conexão
               Console.WriteLine("Aguardando uma conexão... ");
    
               // Aceita uma conexão pendente
               TcpClient client = server.AcceptTcpClient();
               Console.WriteLine("Conectado!");
    
               // Obtém o stream para leitura e escrita
               NetworkStream stream = client.GetStream();
    
               int i;
    
               // Lê os dados enviados pelo cliente
               while ((i = stream.Read(bytes, 0, bytes.Length)) != 0)
               {
                   // Converte os dados recebidos em string
                   data = Encoding.ASCII.GetString(bytes, 0, i);
                   Console.WriteLine("Recebido: {0}", data);
    
                   // Processa os dados recebidos
                   data = data.ToUpper();
    
                   // Converte a string processada em bytes
                   byte[] msg = Encoding.ASCII.GetBytes(data);
    
                   // Envia a resposta de volta ao cliente
                   stream.Write(msg, 0, msg.Length);
                   Console.WriteLine("Enviado: {0}", data);
               }
    
               // Fecha o cliente
               client.Close();
           }
           catch (SocketException e)
           {
               Console.WriteLine("SocketException: {0}", e);
           }
           finally
           {
               // Para o servidor
               server.Stop();
           }
    
           Console.WriteLine("\nPressione ENTER para continuar...");
           Console.Read();
       }
    }

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.