matheus-1618 / Aps2Camadas

Projeto de transmissão de dados aleatórios entre Client e Server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Projeto 2 de Camada Física da Computação

CLIENT-SERVER EM TEMPO REAL

Autores:

Descrição:

Implementação de um simulação client-server com envio e recebimento de ações que obedecem uma ordenação temporal real.

Foi construído um código em Python para transmissão de um determinada quantidade de comandos(client) e recepção e reenvio do tamanho recebido (server) para assim certificar a comunicação serial.

Foram simulados três tipos de casos:

  • SUCESSO DE TRANSMISSÃO: Envio de uma quantidade aleatória (entre 10 e 30) e sorteada de comandos de bytes a cada requisição do client, na qual o server deve receber e diferenciar os comandos enviando uma resposta em menos de 10 segundos do tamanho recebido, para que o client confirme que o tamanho de envio e de recebimento seja adequado.

  • ERRO DE TRANSMISSÃO: Situação em que após o server realizar o recebimento dos comandos, enviar uma quantidade errada de comandos para o client, gerando um erro de retransmissão de dados.

  • CASO DE TIMEOUT: Situação na qual, após o client enviar os comandos, ele não recebe nenhuma resposta de volta do server em 10s, encerrando a comunicação.

Para montagem, use dois Arduinos uno e 5 jumpers, para ligar os terminais TX e RX cruzado de cada Arduino, e depois conecte cada arduino a um computador (ou ao mesmo se for caso, mas em portas diferentes).

Para realizar a simulação, abra um terminal na pasta server e execute o comando abaixo, e selecione o caso a ser simulado:

 borg@borg:~ python aplicacao_server.py

Simultaneamente, abra outro terminal, em outro computador conectado ao arduino, ou em relação a outra porta no mesmo computador e execute, dentro da pasta client. o comando baixo, dando inicio a transmissão e recebimento dos dados:

 borg@borg:~ python aplicacao_client.py

Assim, poderão ser simulados os casos de transmissão e recepção entre computadores ou portas diferentes, garantindo comunicação ou simulando casos de erro.

©Insper, 4° Semestre Engenharia da Computação, Camada Física da Computação.

About

Projeto de transmissão de dados aleatórios entre Client e Server


Languages

Language:Python 100.0%