Dicas de .NET
TCP Sockets em .NET do Zero: Server Console + Clients Blazor e WinForms (Tutorial Completo)
Comunicação por TCP Sockets em C#: Blazor, Console e WinForms integrados em um Tutorial Completo!
Este vídeo une e organiza três conteúdos completos sobre comunicação via TCP Sockets em C# e .NET, mostrando desde os conceitos iniciais até a implementação prática com Console Server, Blazor Client e WinForms Client.
Você aprenderá passo a passo como:
- Conceituar a comunicação por Sockets e entender diferenças para HTTP
- Criar um Server TCP em .NET Console com TcpListener
- Criar Clients TCP em Blazor Server e WinForms
- Trabalhar com StreamReader e StreamWriter para envio/recebimento de mensagens
- Gerenciar múltiplas conexões simultâneas (broadcast para todos os sockets)
- Usar Task, Invoke, InvokeAsync e StateHasChanged para atualizar a UI
- Tratar erros e desconexões de clientes
- Integrar tudo em uma aplicação prática de comunicação cliente/servidor
# Índice de Capítulos
- 00:00:00 Conceitualizando a Comunicação por Sockets
- 00:05:07 Criando a aplicação TCP Server .Net Console (dotnet new)
- 00:10:31 Criando o Listener de TCP com o TcpListener
- 00:13:15 Criando o loop para aguardar conexões TCP (AcceptTcoClient)
- 00:13:48 Criando a tarefa (Task) que receberá e responderá as mensagens TCP
- 00:15:16 Definindo os fluxos, geral (Stream), de envio (StreamWriter) e recebimento (StreamReader)
- 00:15:41 Explicando a diferença entre conexão por Socket e comum HTTP
- 00:19:57 Recebendo a mensagem TCP enviada pelo Client (Stream.ReadLine)
- 00:21:53 Respondendo a mensagem TCP enviada pelo Client (Stream.WriteLine)
- 00:27:29 Compilando a aplicação TCP Server .Net Console (dotnet build)
- 00:27:58 Criando e executando a aplicação TCP Client em Blazor (Server) com .Net (dotnet new blazor)
- 00:30:30 Criando a Interface (UI) em Blazor para o TCP Client (HTML, CSS e Bootstrap)
- 00:35:00 Definindo os fluxos, geral (NetworkStream), envio (StreamWriter) e recebimento (StreamReader)
- 00:39:19 Definindo os Bindings fazendo a ligação entre Interface (UI) e Código
- 00:41:54 Inicializando o TCP Client (TcpClient)
- 00:44:03 Criando a tarefa (Task) que define os fluxos (stream) de recebimento e resposta de mensagens TCP
- 00:46:47 Atualizando, de uma Task externa, a Interface (UI) em Blazor (InvokeAsync, StateHasChange)
- 00:47:36 Definindo método para envio de mensagens TCP (Stream.WriteLine)
- 00:51:32 Definindo e detalhando o RenderMode InteractiveServer
- 00:55:16 Tratando erros em uma aplicação .Net Blazor
- 00:59:26 Compilando, executando e testando 2 aplicações .Net Blazor e Console (Client e TCP Server)
- 01:02:25 Criando uma class auxiliar e um Dictionary de Streams de TcpClient
- 01:07:46 Pegando o EndPoint do Client Socket conectado e incluindo no Dictionary
- 01:11:24 Loop para responder a todos os Clients Socket TCP conectados (Broadcast)
- 01:12:09 Verificando se o Client Socket TCP está conectado
- 01:12:58 Desconectando Streams Client Socket TCP e o removendo do Dictionary
- 01:14:51 Respondendo a um Client Socket TCP no seu StreamWriter
- 01:16:42 Trocando um Dictionary por um ConcurrentDictionary de Clients Socket TCP
- 01:19:08 Explicação completa de um Server Socket TCP em .net Console (TcpListener)
- 01:28:26 Explicação completa de um Client Socket TCP em .net Blazor (TcpClient)
- 01:31:35 Compilando e executando 2 aplicação Client e Server TCP em .net (Blazor e Console)
- 01:43:56 Criando um Client Socket usando WinForms no Visual Studio 2022
- 01:46:03 Ajustando Componentes de interface (UI) no Winforms
- 01:48:34 Conectando ao server TcpClient e definindo os fluxos (StreamReader e StreamWriter)
- 01:52:23 Tratando o recebimento mensagens dos Clients usando StreamReader
- 01:52:52 Usando Invoke para preencher uma ListBox na MainThread a partir de uma Task
- 01:54:22 Codificando evento Click botão para enviar mensagens ao Socket Server (StreamWriter)
- 01:55:54 Testando Sockets entre os Clientes Winforms e Blazor e o Server .net Console
Este vídeo une e organiza três conteúdos completos sobre comunicação via TCP Sockets em C# e .NET, mostrando desde os conceitos iniciais até a implementação prática com Console Server, Blazor Client e WinForms Client.
Você aprenderá passo a passo como:
- Conceituar a comunicação por Sockets e entender diferenças para HTTP
- Criar um Server TCP em .NET Console com TcpListener
- Criar Clients TCP em Blazor Server e WinForms
- Trabalhar com StreamReader e StreamWriter para envio/recebimento de mensagens
- Gerenciar múltiplas conexões simultâneas (broadcast para todos os sockets)
- Usar Task, Invoke, InvokeAsync e StateHasChanged para atualizar a UI
- Tratar erros e desconexões de clientes
- Integrar tudo em uma aplicação prática de comunicação cliente/servidor
# Índice de Capítulos
- 00:00:00 Conceitualizando a Comunicação por Sockets
- 00:05:07 Criando a aplicação TCP Server .Net Console (dotnet new)
- 00:10:31 Criando o Listener de TCP com o TcpListener
- 00:13:15 Criando o loop para aguardar conexões TCP (AcceptTcoClient)
- 00:13:48 Criando a tarefa (Task) que receberá e responderá as mensagens TCP
- 00:15:16 Definindo os fluxos, geral (Stream), de envio (StreamWriter) e recebimento (StreamReader)
- 00:15:41 Explicando a diferença entre conexão por Socket e comum HTTP
- 00:19:57 Recebendo a mensagem TCP enviada pelo Client (Stream.ReadLine)
- 00:21:53 Respondendo a mensagem TCP enviada pelo Client (Stream.WriteLine)
- 00:27:29 Compilando a aplicação TCP Server .Net Console (dotnet build)
- 00:27:58 Criando e executando a aplicação TCP Client em Blazor (Server) com .Net (dotnet new blazor)
- 00:30:30 Criando a Interface (UI) em Blazor para o TCP Client (HTML, CSS e Bootstrap)
- 00:35:00 Definindo os fluxos, geral (NetworkStream), envio (StreamWriter) e recebimento (StreamReader)
- 00:39:19 Definindo os Bindings fazendo a ligação entre Interface (UI) e Código
- 00:41:54 Inicializando o TCP Client (TcpClient)
- 00:44:03 Criando a tarefa (Task) que define os fluxos (stream) de recebimento e resposta de mensagens TCP
- 00:46:47 Atualizando, de uma Task externa, a Interface (UI) em Blazor (InvokeAsync, StateHasChange)
- 00:47:36 Definindo método para envio de mensagens TCP (Stream.WriteLine)
- 00:51:32 Definindo e detalhando o RenderMode InteractiveServer
- 00:55:16 Tratando erros em uma aplicação .Net Blazor
- 00:59:26 Compilando, executando e testando 2 aplicações .Net Blazor e Console (Client e TCP Server)
- 01:02:25 Criando uma class auxiliar e um Dictionary de Streams de TcpClient
- 01:07:46 Pegando o EndPoint do Client Socket conectado e incluindo no Dictionary
- 01:11:24 Loop para responder a todos os Clients Socket TCP conectados (Broadcast)
- 01:12:09 Verificando se o Client Socket TCP está conectado
- 01:12:58 Desconectando Streams Client Socket TCP e o removendo do Dictionary
- 01:14:51 Respondendo a um Client Socket TCP no seu StreamWriter
- 01:16:42 Trocando um Dictionary por um ConcurrentDictionary de Clients Socket TCP
- 01:19:08 Explicação completa de um Server Socket TCP em .net Console (TcpListener)
- 01:28:26 Explicação completa de um Client Socket TCP em .net Blazor (TcpClient)
- 01:31:35 Compilando e executando 2 aplicação Client e Server TCP em .net (Blazor e Console)
- 01:43:56 Criando um Client Socket usando WinForms no Visual Studio 2022
- 01:46:03 Ajustando Componentes de interface (UI) no Winforms
- 01:48:34 Conectando ao server TcpClient e definindo os fluxos (StreamReader e StreamWriter)
- 01:52:23 Tratando o recebimento mensagens dos Clients usando StreamReader
- 01:52:52 Usando Invoke para preencher uma ListBox na MainThread a partir de uma Task
- 01:54:22 Codificando evento Click botão para enviar mensagens ao Socket Server (StreamWriter)
- 01:55:54 Testando Sockets entre os Clientes Winforms e Blazor e o Server .net Console