diff --git a/Canguru/tentandop.py b/Canguru/tentandop.py index 7cbdf3139a2c21b966b4a1a5dc86424a4f2562ea..d2c30172021ffa2f0c8d138476f459be6a666581 100755 --- a/Canguru/tentandop.py +++ b/Canguru/tentandop.py @@ -36,6 +36,8 @@ import Queue global TOKEN global StartTime global HighPriority +global RECEBIDA +RECEBIDA = 1 StartTime = 0 HighPriority = 10 TOKEN = 0 @@ -115,6 +117,7 @@ def token (): global TOKEN global StartTime global queue + global RECEBIDA udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) tokenMessage = Protocol() dest = (HOST, SEND_PORT) @@ -132,8 +135,11 @@ def token (): msg = queue.get () udp.sendto (msg[1], dest) print 'ENVIANDO' - #else: - #print 'A FILA ESTA VAZIA' + time.sleep(1) + while (RECEBIDA == 0): + print 'ENVIANDO NOVAMENTE A MSG' + udp.sendto (msg[1], dest) + time.sleep(1) udp.close() def client (): @@ -164,6 +170,7 @@ def client (): def server (): global TOKEN global StartTime + global RECEBIDA udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) orig = ('', RECV_PORT) dest = (HOST, SEND_PORT) @@ -177,15 +184,31 @@ def server (): #A msg foi enviada com sucesso if (msg[1] == '2' and int(MACHINE_ID) == int(protocolDescompactMessage.destiny)): print 'A MENSAGEM FOI ENVIADA COM SUCESSO' + RECEBIDA = 1 + + #Erro no envio + if (msg[1] == '3' and int(MACHINE_ID) == int(protocolDescompactMessage.destiny)): + RECEBIDA = 0 + #A msg e pra mim if (msg[1] == '1' and int(MACHINE_ID) == int(protocolDescompactMessage.destiny)): - print '\n' + protocolDescompactMessage.origin + ' Escreveu: ' + protocolDescompactMessage.msg + #protocolDescompactMessage.crc = "8888888"#caga tdo + if (protocolDescompactMessage.crc == protocolDescompactMessage.getCRC32()): + print '\n' + protocolDescompactMessage.origin + ' Escreveu: ' + protocolDescompactMessage.msg - #envia ack - protocolDescompactMessage.type = str(2) - protocolDescompactMessage.destiny = protocolDescompactMessage.origin - msg = protocolDescompactMessage.getEmpacotar() - udp.sendto (msg, dest) + #envia ack + protocolDescompactMessage.type = str(2) + protocolDescompactMessage.destiny = protocolDescompactMessage.origin + msg = protocolDescompactMessage.getEmpacotar() + udp.sendto (msg, dest) + else: + print 'ERRO DE MENSAGEM' + + #envia nack + protocolDescompactMessage.type = str(3) + protocolDescompactMessage.destiny = protocolDescompactMessage.origin + msg = protocolDescompactMessage.getEmpacotar() + udp.sendto (msg, dest) #A msg n e pra mim elif (msg[1] == '1'):