def up(self): while True: conn, addr = self.sock.accept() print 'Connection address:', addr while 1: data = conn.recv(BUFFER_SIZE) if not data: break package = Package(11, 320) package.setPackage(data) package.decode() if package.type == 0 or package.type == 1: reply_package = Package(1) messages_data = self.call(package) reply_package.data = ''.join(messages_data) if DEVELOP: print package.__str__() conn.send(reply_package.getPackage()) # echo elif package.type == 2: reply_package = Package(2) reply_package.data = 'OK' if DEVELOP: print package.__str__() conn.send(reply_package.getPackage()) if package.command.name == 'send_file': var = package.command.variables.split() filename = var[0] mode = var[1] print "Start receiving" file = open(filename, mode) file.write(package.data.decode()) file.close() conn.close()
def sendFile(self, filename): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((TCP_IP, TCP_PORT)) package = Package(3) package.command.variables = ' '.join([filename, 'wb']) print "Starting sending file" with open(filename,'rb') as file: print 'Sending..' data = file.read(2048) package.command.name = 'send_file' package.data = data.encode() s.send(package.getPackage()) package.command.variables = '{} {}'.format(filename, 'a')