From 8cf84fd61d42ed3c211bee327dcb646b934da660 Mon Sep 17 00:00:00 2001 From: Fernando <fce15@inf.ufpr.br> Date: Tue, 1 Nov 2016 08:58:15 -0200 Subject: [PATCH] Protocol is working --- Canguru/Cliente.py | 115 ++++++++++++++++++++++++++------------------- 1 file changed, 66 insertions(+), 49 deletions(-) diff --git a/Canguru/Cliente.py b/Canguru/Cliente.py index acc795b..b713579 100755 --- a/Canguru/Cliente.py +++ b/Canguru/Cliente.py @@ -8,6 +8,7 @@ #Origem - 4 Bytes #Prioridade - 4 Bytes #Tamanho - 32 bytes +#Marca (inicio msg) - 1 Byte #Menssagem - ?? #CRC - 4 bytes @@ -21,73 +22,89 @@ SEND_PORT = 5000 # Porta que o Servidor envia RECV_PORT = 5001 # Porta que o Servidor recebe class FuncThread(threading.Thread): - def __init__(self, target, *args): - self._target = target + def __init__(self, tarset, *args): + self._tarset = tarset self._args = args threading.Thread.__init__(self) def run(self): - self._target(*self._args) + self._tarset(*self._args) class Protocol: - def getMarca(self): - self.marca = "~" #Marca - - #Get destiny message - def getDestiny(self): - print 'Destino:' - self.destiny = raw_input() - self.destiny = str(self.destiny) - - def getOrigin(self): - self.origin = "1" - - #Get Priority messsage - def getPriority(self): - print 'Prioridade:' - self.priority = raw_input() - self.priority = str(self.priority) - - #Get message - def getMessage(self): - print 'Mensagem:' - self.msg = raw_input() - - #Get sizeof message - def getSizeof (self): - self.sizemsg = sys.getsizeof(self.msg) - self.sizemsg = str(self.sizemsg) #String convert - print self.sizemsg + def setMarca(self): + self.marca = "~" #Marca + + #set destiny message + def setDestiny(self): + print 'Destino:' + self.destiny = raw_input() + self.destiny = str(self.destiny) + + def setOrigin(self): + self.origin = "1" + + #set Priority messsage + def setPriority(self): + print 'Prioridade:' + self.priority = raw_input() + self.priority = str(self.priority) + + #set message + def setMessage(self): + print 'Mensagem:' + self.msg = raw_input() + + #set sizeof message + def setSizeof (self): + self.sizemsg = len(self.msg) + self.sizemsg = str(self.sizemsg) #String convert + print self.sizemsg - #Get CRC32 - def getCRC32(self): - buff = (binascii.crc32(self.msg) & 0xFFFFFFFF) - self.crc = "%08X" % buff - - def empacotar(self): - return self.marca + self.destiny + self.origin + self.priority + self.sizemsg + self.msg + self.crc + #set CRC32 + def setCRC32(self): + buff = (binascii.crc32(self.msg) & 0xFFFFFFFF) + self.crc = "%08X" % buff + + def empacotar(self): + return self.marca + self.destiny + self.origin + self.priority + self.marca + self.sizemsg + self.msg + self.crc + + def desempacota(self, msg): + self.marca = msg[0] + self.destiny = msg[1] + self.origin = msg[2] + self.priority = msg[3] + #slint + def client (): udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) dest = (HOST, SEND_PORT) print 'Para sair digite exit\n' print 'Mensagem:' - hostname = socket.gethostname() + hostname = socket.sethostname() protocolMessage = Protocol() - protocolMessage.getMarca() - protocolMessage.getDestiny() - protocolMessage.getOrigin() - protocolMessage.getPriority() - protocolMessage.getMessage() - protocolMessage.getSizeof() - protocolMessage.getCRC32() + protocolMessage.setMarca() + protocolMessage.setDestiny() + protocolMessage.setOrigin() + protocolMessage.setPriority() + protocolMessage.setMessage() + protocolMessage.setSizeof() + protocolMessage.setCRC32() msg = protocolMessage.empacotar() while True: udp.sendto (hostname, dest) # Envia Hostname udp.sendto (msg, dest) #Envia Mensagem print 'Mensagem:' - msg = raw_input() - hostname = socket.gethostname() + protocolMessage = Protocol() + protocolMessage.setMarca() + protocolMessage.setDestiny() + protocolMessage.setOrigin() + protocolMessage.setPriority() + protocolMessage.setMessage() + protocolMessage.setSizeof() + protocolMessage.setCRC32() + msg = protocolMessage.empacotar() + hostname = socket.sethostname() udp.close() def server (): @@ -103,7 +120,7 @@ def server (): udp.close() #def killThread (): - +#######################MAIN############################# if len(sys.argv) > 1: AUX = RECV_PORT -- GitLab