Projetos em C
✅ 1. Cliente e servidor TCP simples (chat 1:1)
📌 Um lado envia e o outro recebe mensagens (como um mini netcat).
Usa:
socket()
,bind()
,listen()
,accept()
,connect()
,send()
,recv()
.Nível: iniciante.
Dá pra testar em localhost.
💡 Extra: Adiciona múltiplos clientes usando fork()
ou select()
depois.
✅ 2. Cliente e servidor UDP (ping simples)
📌 Envia um pacote e espera a resposta.
Bom pra entender a diferença entre TCP e UDP (sem conexão, sem garantia de entrega).
Pode simular perda de pacotes e retransmissões.
✅ 3. Sniffer de pacotes (tipo mini Wireshark)
📌 Usa raw sockets
pra capturar tráfego de rede.
Pode filtrar pacotes TCP, UDP, ICMP e exibir cabeçalhos.
Nível: intermediário.
Permite entender como os protocolos são estruturados (camada 3 e 4).
✅ 4. Port scanner simples (tipo mini Nmap)
📌 Tenta conectar em várias portas de um IP e diz quais estão abertas.
Usa:
connect()
com timeout em portas TCP.Pode fazer versão TCP ou até UDP.
✅ 5. Servidor HTTP básico (mini Apache)
📌 Um servidor que responde a requisições HTTP simples (GET /
).
Dá pra servir arquivos
.html
e imagens.Aprende a trabalhar com strings, cabeçalhos HTTP, e parsing de requisições.
✅ 6. Ferramenta de download (tipo mini wget)
📌 Dá uma URL e ele conecta, faz o GET e salva o conteúdo.
Aprende a parsear URLs, resolver DNS (
getaddrinfo()
), lidar com protocolo HTTP.
✅ 7. Ferramenta de transferência de arquivos entre dois PCs
📌 Cliente envia um arquivo, servidor salva no disco.
Usa TCP e
fread/fwrite
pra manipular arquivos.Ideal pra treinar envio em blocos, confirmação, e controle de erros.
Last updated