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'):