Skip to content

P-E-N-T-E-S/Soquetes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Status

Repository Size Language Count Commit Activity License

📄 Descrição do Projeto

Esta aplicação cliente-servidor foi desenvolvida para fornecer um transporte confiável de dados em um ambiente onde ocorrem perdas de pacotes e erros simulados. O projeto utiliza sockets para comunicação entre cliente e servidor e implementa mecanismos de controle de fluxo e controle de congestionamento, garantindo a integridade e a entrega dos dados.

🔧 Funcionalidades

🖥️ Cliente

  • Conexão com o Servidor: Permite conexão ao servidor via localhost ou IP.
  • Envio de Pacotes: Capacidade de enviar pacotes individuais ou em grupos (rajadas).
  • Simulação de Erros: Possibilidade de inserir erros de integridade em pacotes específicos.
  • Atualização Dinâmica: A janela de recepção do servidor é atualizada em tempo real, considerando as confirmações recebidas e perdas de pacotes.

🌐 Servidor

  • Gerenciamento de Pacotes: O servidor pode marcar pacotes que não serão confirmados e incluir erros de integridade nas confirmações.
  • Confirmações Negativas: Capacidade de sinalizar ao cliente sobre confirmações negativas.
  • Negociação de Protocolo: O cliente e o servidor podem negociar se utilizarão repetição seletiva ou o protocolo Go-Back-N.
  • Janela de Recepção: A janela de recepção é informada e atualizada dinamicamente para o cliente.

📪 Protocolo de Aplicação

Um protocolo de aplicação foi desenvolvido e documentado, incluindo regras para:

  • Requisições e respostas
  • Soma de verificação
  • Número de sequência
  • Reconhecimento e reconhecimento negativo
  • Controle de janela e paralelismo

♟️ Simulação de Falhas

A aplicação permite a simulação de falhas de integridade e perdas de mensagens, possibilitando a inserção de 'erros' que podem ser verificados pelo servidor.

📎 Requisitos

  • Ambiente: A aplicação requer um ambiente que suporte sockets para a comunicação entre cliente e servidor.
  • Linguagem: O projeto foi desenvolvido em python.

👩‍💻 Membros de CC


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •