Skip to content
Snippets Groups Projects
Commit 93b5c08e authored by FernandoErd's avatar FernandoErd
Browse files

Protocol maybe working

parent 197ac74b
No related branches found
No related tags found
No related merge requests found
#!/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
......@@ -21,62 +29,60 @@ class FuncThread(threading.Thread):
def run(self):
self._target(*self._args)
class Protocol():
def __init__ ():
class Protocol:
def getMarca(self):
self.marca = "~" #Marca
#Get sizeof message
def sizeof (self, msg):
self.sizemsg = sys.getsizeof(msg)
print self.sizemsg
#Get destiny message
def getdestiny():
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():
def getPriority(self):
print 'Prioridade:'
self.priority = raw_input()
self.priority = str(self.priority)
#Get message
def getMessage():
def getMessage(self):
print 'Mensagem:'
self.msg = raw_input()
#def empacotar():
# return self.marca + self.sizemsg
#Get sizeof message
def getSizeof (self):
self.sizemsg = sys.getsizeof(self.msg)
self.sizemsg = str(self.sizemsg) #String convert
print 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
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':
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:'
......@@ -106,5 +112,4 @@ if len(sys.argv) > 1:
threadServer = FuncThread (server)
threadServer.start()
threadClient = FuncThread (client)
threadClient.start()
client ()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment