Você está na página 1de 2

T310 – Projeto de Redes Convergentes

Prof. Wellington Brito

Lab01 – Comunicação Cliente-Servidor via Socket


Tarefa: implementar a comunicação via socket entre vários computadores diferentes
(pelo menos três), com um deles atuando como servidor e os outros como clientes.

Objetivos:
1. Melhorar o entendimento como os sockets funcionam em um ambiente de rede
real.
2. Adquirir experiência prática com a comunicação via socket em uma rede real
3. Compreender os conceitos fundamentais de sockets, protocolos de comunicação e
gerenciamento de conexões.
4. Promover a colaboração entre os alunos, pois eles podem testar a comunicação
entre diferentes máquinas.
Estrutura Necessária:
- Computadores ou máquinas virtuais para atuar como servidor e clientes.
- Ambiente de rede local.

Roteiro para execução da tarefa:


1. Configuração dos Computadores:
- Certifique-se de que os computadores (ou máquinas virtuais) que os alunos vão usar
estejam configurados na mesma rede local. Isso pode ser feito usando uma rede Wi-Fi
ou um cabo Ethernet, dependendo dos recursos disponíveis.
2. Implementação do Servidor:
- Implementar um programa Python que atua como servidor de socket. O servidor
deve criar um soquete do servidor, configurar o endereço IP e a porta para ouvir e
aceitar conexões de clientes.
Um aluno da equipe será escolhido para ser o “servidor” (seu computador atuará como
servidor) e ficará disponível para atender aos clientes.
3. Implementação dos Clientes:
- Cada aluno deve implementar um programa Python que atua como cliente de socket.
Os clientes devem se conectar ao servidor usando o endereço IP e a porta do servidor.
Os demais alunos da equipe serão “clientes” e precisam ser comunicar com o servidor.

4. Comunicação Cliente-Servidor:
- Os alunos devem definir um protocolo de comunicação simples entre o cliente e o
servidor. Isso pode ser tão simples quanto o cliente enviar uma mensagem para o
servidor, e o servidor respondendo com uma mensagem de confirmação.
5. Teste da Comunicação:
- A rotina de servidor deverá ficar sendo executada em uma máquina e os clientes em
outras máquinas diferentes. Eles devem verificar se a comunicação entre os clientes e o
servidor funciona conforme o esperado.
6. Tratamento de Erros:
- Os alunos devem implementar tratamento de erros em seus programas, como lidar
com conexões perdidas ou erros de rede.
7. Documentação:
- Cada equipe deve documentar seu código, descrevendo o protocolo de comunicação
usado, como configurar e executar o servidor e os clientes, e quaisquer desafios ou
problemas enfrentados durante a implementação.
8. Apresentação e Discussão:
- Os alunos devem apresentar seus projetos e discutir suas experiências e desafios em
uma sessão de apresentação em sala de aula. Isso pode incluir demonstrações de como
seus programas funcionam.
9. Feedback e Avaliação:
- O trabalho será avaliado tomando como base a funcionalidade, a clareza do código,
a documentação e a capacidade de resposta às perguntas durante a apresentação.

Você também pode gostar