Criando um Servidor de Chat Simples com Netcat
Nesta etapa, você aprenderá como criar um servidor de chat mais robusto usando netcat com opções adicionais. Este exemplo demonstrará como o netcat pode ser usado para conexões mais persistentes.
Primeiro, vamos entender algumas opções adicionais do netcat que serão úteis:
-k: Esta opção permite que o servidor continue escutando após um cliente desconectar, permitindo múltiplas conexões ao longo do tempo.
-v: Isso habilita a saída verbose, fornecendo mais informações sobre a conexão.
Vamos criar um servidor de chat que continue em execução mesmo após um cliente desconectar. No seu primeiro terminal:
cd ~/project
nc -l -k -v 7777
Você deve ver uma saída indicando que o netcat está escutando:
Listening on 0.0.0.0 7777
Este servidor continuará em execução e aceitará novas conexões mesmo após um cliente desconectar.
Agora, no seu segundo terminal, conecte-se a este servidor:
cd ~/project
nc localhost 7777
Você deve ver uma mensagem no primeiro terminal indicando uma nova conexão, semelhante a:
Connection from 127.0.0.1 port 7777 [tcp/*] accepted
Você pode agora trocar mensagens entre os terminais como antes. Digite uma mensagem em um terminal e pressione Enter para enviá-la para o outro terminal.
Para testar a persistência do servidor, desconecte o cliente pressionando Ctrl+C no segundo terminal. Em seguida, reconecte usando o mesmo comando:
nc localhost 7777
Você deve ser capaz de se conectar novamente e continuar conversando, demonstrando que o servidor permanece ativo entre as conexões do cliente.
Para salvar um log da sua conversa de chat, você pode modificar o comando do servidor para salvar todas as mensagens recebidas em um arquivo. Pressione Ctrl+C para parar o servidor atual e, em seguida, inicie um novo com redirecionamento de saída:
cd ~/project
nc -l -k -v 7777 | tee chat_log.txt
Este comando usa o utilitário tee para exibir as mensagens recebidas na tela e salvá-las no arquivo chat_log.txt.
Conecte-se do segundo terminal novamente e envie algumas mensagens. Depois de trocar algumas mensagens, desconecte o cliente (pressione Ctrl+C no segundo terminal) e, em seguida, verifique o arquivo de log do chat:
cat ~/project/chat_log.txt
Você deve ver as mensagens que você enviou do terminal do cliente.
Para parar o servidor, pressione Ctrl+C no primeiro terminal.
Esta etapa demonstrou como criar um servidor de chat mais robusto usando netcat e como registrar a comunicação, o que pode ser útil para manter registros ou fins de depuração.