def send(self, data): scr = RDLaser.checksum(RDLaser.scramblestr(data)) if self.debug: print u"\x1B[42m> " + self.addr + ": " + ( scr.encode("hex")) + u"\x1B[0m - " + data.encode("HEX") RDLaser.getClient().sendto(scr, (self.addr, RDLaser.SERVER_PORT)) data, server_addr = self.recv() if (data != '\xc6'): return False return True
def recv(self): try: data, server_addr = RDLaser.getClient().recvfrom(RDLaser.BUF_SIZE) except socket.timeout: if self.debug: print u"\x1B[30;48;5;1m TIMEOUT REACHED \x1B[0m" return (None, None) if self.debug: print u"\x1B[44m< " + server_addr[0] + ": " + data.encode( "HEX") + u"\x1B[0m - " + RDLaser.descramblestr(data).encode( "HEX") return (data, server_addr)
def __init__(self, addr="127.0.0.1"): RDLaser.getClient() self.addr = addr pass