Consolida núcleo (presença, peer actions, MessageDispatcher), chat e screencast na galeria, documentação PT-BR e testes JUnit; remove mpChat do catálogo em favor do chat unificado. Co-authored-by: Cursor <cursoragent@cursor.com>
1.8 KiB
1.8 KiB
Visão da disciplina e trabalho prático
Papel do Pitiupi
O Pitiupi é uma plataforma P2P com plugins usada em Redes de Computadores para:
- Experimentar UDP (multicast/unicast) e TCP na mesma aplicação.
- Observar presença de peers (heartbeat) sem servidor central de aplicação.
- Desenvolver trabalhos individuais ou em grupo como novos plugins (jogos, ferramentas colaborativas, etc.).
O núcleo fornece rede e GUI; o aluno implementa a lógica no plugin.
Trabalho típico (plugin)
Cada equipe/aluno entrega um módulo Java separado que:
- Compila para JAR e carrega via
pitiupi/plugins/. - Define mensagens (
extends Message) e o fluxo entre peers. - Integra menus/janelas via
GuiManager. - Inclui README do módulo (build + protocolo).
Exemplos de tema: chat temático, tabuleiro (xadrez/damas), compartilhamento de arquivo, quiz síncrono.
Plugins de referência no repositório
| Módulo | Ideia pedagógica |
|---|---|
plugins/chat |
Mensagens UDP + UI simples |
plugins/screencast |
Payload maior / streaming de imagem |
plugins/chat |
Multicast, unicast, TCP e canal TCP privado |
Detalhes: 11_plugins_referencia.md.
Critérios genéricos (ajustar na disciplina)
| Critério | Indicador |
|---|---|
| Funcionalidade | Comportamento correto entre dois+ peers na rede da sala |
| Uso da plataforma | SPI, mensagens, sem “fork” desnecessário do núcleo |
| Build | ant jar / make reproduzível |
| Documentação | README do plugin + descrição das mensagens |
Para monitores
- Roteiro de build: 00_quickstart.md.
- Checklist de entrega: 15_testes_e_gate.md.
- Fundamentação para dúvidas de alunos: 16_fundamentacao_redes.md.