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 send(self): package = Package() package.type = self._type_package package.user = self._user package.command = self._command PACKAGE = package.getPackage() s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((TCP_IP, TCP_PORT)) s.send(PACKAGE) data = s.recv(BUFFER_SIZE) s.close() package = Package() package.setPackage(data) if package.type == 0: pass if package.type == 1: message = str(package.data) #message = message.split('$$NEWLINE$$ $$NEWLINE$$') #message = '\n'.join(message) #message = message.replace('$$NEWLINE$$','',1) print message if package.type == 2: print "Status: {}".format(package.data) if package.type == 3: print "Data sending"
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')