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

Protocol maybe working

parent 197ac74b
Branches
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