From 93b5c08e83d4b667b746ef39bbc463ca61a07760 Mon Sep 17 00:00:00 2001
From: FernandoErd <fernandoerd2012@gmail.com>
Date: Mon, 31 Oct 2016 23:56:35 -0200
Subject: [PATCH] Protocol maybe working

---
 Canguru/Cliente.py | 133 +++++++++++++++++++++++----------------------
 1 file changed, 69 insertions(+), 64 deletions(-)

diff --git a/Canguru/Cliente.py b/Canguru/Cliente.py
index 6c2b766..acc795b 100755
--- a/Canguru/Cliente.py
+++ b/Canguru/Cliente.py
@@ -1,14 +1,22 @@
 #!/usr/bin/env python
-#################### Protocol #############################
-# Marca - Destino - Prioridade - Tamamnho - Messagem - CRC#
-###########################################################
+#################### Protocol ######################################
+# Marca - Destino - Origem - Prioridade - Tamamnho - Menssagem - CRC#
+####################################################################
+
+#Marca - 1 Byte
+#Destino - 4 Bytes
+#Origem - 4 Bytes
+#Prioridade - 4 Bytes
+#Tamanho - 32 bytes
+#Menssagem - ??
+#CRC - 4 bytes
 
 import socket
 import threading
 import sys
 import binascii
 
-HOST = "127.0.0.1"  # Endereco IP do Servidor
+HOST = "127.0.0.1"		# Endereco IP do Servidor
 SEND_PORT = 5000        # Porta que o Servidor envia
 RECV_PORT = 5001        # Porta que o Servidor recebe
 
@@ -21,68 +29,66 @@ class FuncThread(threading.Thread):
     def run(self):
         self._target(*self._args)
 
-class Protocol():
-    def __init__ ():
-        self.marca = "~" #Marca
-
-    #Get sizeof message
-    def sizeof (self, msg):
-        self.sizemsg = sys.getsizeof(msg)
-        print self.sizemsg
-
-    #Get destiny message
-    def getdestiny():
-        print 'Destino:'
-        self.destiny = raw_input()
+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
     
-    #Get Priority messsage
-    def getPriority():
-        print 'Prioridade:'
-        self.priority = raw_input()
-
-    #Get message 
-    def getMessage():
-        print   'Mensagem:'
-        self.msg = raw_input()
-
-    #def empacotar():
-    #    return self.marca + self.sizemsg
-
-    #Get CRC32
-    def getCRC32(msg):
-        buff = (binascii.crc32(msg) & 0xFFFFFFFF)
-        return "%08X" % buff
-
-class queue(object):
-    def __init__(self):
-        self.dados = []
- 
-    def insere(self, elemento):
-        self.dados.append(elemento)
- 
-    def retira(self):
-        return self.dados.pop(0)
- 
-    def vazia(self):
-        return len(self.dados) == 0
+	#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
 
 def client ():
-    udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-    dest = (HOST, SEND_PORT)
-    
-    print 'Para sair digite exit\n'
-    print 'Mensagem:'
-    msg = raw_input()
-    hostname = socket.gethostname() # Pega o hostname
-
-    while msg <> 'exit':
-        udp.sendto (hostname, dest) # Envia Hostname
-        udp.sendto (msg, dest) #Envia Mensagem
-        print 'Mensagem:'
-        msg = raw_input()
-        hostname = socket.gethostname()
-    udp.close()
+	udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
+	dest = (HOST, SEND_PORT)
+	print 'Para sair digite exit\n'
+	print 'Mensagem:'
+	hostname = socket.gethostname()
+	protocolMessage = Protocol()
+	protocolMessage.getMarca()
+	protocolMessage.getDestiny()
+	protocolMessage.getOrigin()
+	protocolMessage.getPriority()
+	protocolMessage.getMessage()
+	protocolMessage.getSizeof()
+	protocolMessage.getCRC32()
+	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()
+	udp.close()
 
 def server ():
     print 'Estou no Server'
@@ -106,5 +112,4 @@ if len(sys.argv) > 1:
 
 threadServer = FuncThread (server)
 threadServer.start()
-threadClient = FuncThread (client)
-threadClient.start()
+client ()
-- 
GitLab