Seções:
|
Trabalho 1 (alternativo)O objetivo do presente trabalho é construir um par client/servidor, no qual o servidor aguarda o recebimento de um valor, armazena esse valor, e confirma o recebimento para o cliente. O cliente simplesmente recebe um valor e uma lista de servidores e envia para cada servidor o valor de consenso. Tanto o servidor quanto o cliente foram escritos em python. Ao testar percebi que mesmo lançando os clientes em background, o primeiro cliente terminava suas conexões antes do segundo iniciar. Para tornar as coisas mais interessantes, cada cliente espera um número (pseudo) aleatório de segundos antes de cada conexão. Para testar foram lançados três servidores, nas portas 5000, 6000 e 7000 e dois clientes que se conectavam em cada um dos três servidores. Os logs abaixam mostram o que ocorreu durante o teste. servidor na porta 5000 bind feito na porta 5000
conexao recebida de ('127.0.0.1', 33770)
novo valor: 50
conexao recebida de ('127.0.0.1', 33773)
novo valor: 90
servidor na porta 6000 bind feito na porta 6000
conexao recebida de ('127.0.0.1', 49951)
novo valor: 50
conexao recebida de ('127.0.0.1', 49954)
novo valor: 90
servidor na porta 7000 bind feito na porta 7000
conexao recebida de ('127.0.0.1', 50064)
novo valor: 90
conexao recebida de ('127.0.0.1', 50067)
novo valor: 50
cliente 1conectado a 127.0.0.1 porta 5000 enviei: 50 recebi a confirmacao: 50 confirmacao OK conectado a 127.0.0.1 porta 6000 enviei: 50 recebi a confirmacao: 50 confirmacao OK conectado a 127.0.0.1 porta 7000 enviei: 50 recebi a confirmacao: 50 confirmacao OK cliente 2conectado a 127.0.0.1 porta 7000 enviei: 90 recebi a confirmacao: 90 confirmacao OK conectado a 127.0.0.1 porta 5000 enviei: 90 recebi a confirmacao: 90 confirmacao OK conectado a 127.0.0.1 porta 6000 enviei: 90 recebi a confirmacao: 90 confirmacao OK |