def receiveFile(nm, conn, siz): bytesRead = 0 fileName = Lib.extractFilename(nm) file = open(fileName, 'wb') while bytesRead < siz: buff = conn.recv(BUFSIZE) file.write(buff) bytesRead = bytesRead + len(buff) print("Transfer complete\n")
def main(argv): # TO DO Your Code serverSocket = socket(AF_INET,SOCK_STREAM) serverSocket.bind(('', PORT)) serverSocket.listen(1) print 'The server is ready to receive' while 1: connectionSocket, addr = serverSocket.accept() file = Lib.readTextTCP(connectionSocket) filename = Lib.extractFilename(file) size = str(Lib.check_File_Exists(filename)) sendFile(filename, size, connectionSocket) serverSocket.close()
def main(argv): serverSock = socket(AF_INET, SOCK_STREAM) #create TCP socket serverSock.bind((HOST, PORT)) #Bind socket to IP og port(address) serverSock.listen(1) #waiting for client to connect. print 'The server is ready to receive' while True: conn, addr = serverSock.accept() #completes connection with client print 'Connected to client - Port - ', PORT txtClient = Lib.readTextTCP( conn) #Reads file and directory from client fileName = Lib.extractFilename(txtClient) fileSize = str(Lib.check_File_Exists(fileName)) Lib.writeTextTCP(fileSize, conn) #send filesize to client. sendFile(fileName, fileSize, conn) #calls sendfile()
def receiveFile(fileName, conn, size): # TO DO Your Code bytesToRead = 0 name = Lib.extractFilename(fileName) #getting the name of the file file = open(name, 'wb') #using the file name to make a new file while (int(size) > bytesToRead): #building the new file data = conn.recv(BUFSIZE) file.write(data) bytesToRead += len(data) if bytesToRead == int( size): # makes sure that the file doesnt get too much data break file.close() print("completed transfering file")
def getFile(fileName, conn): # TO DO Your Code print("Inside receiveFile") Lib.writeTextTCP(fileName, conn) print("After conn.sendto") #sendto(data: bytes, address: _Addresss) #bytesAddresPair = conn.recvfrom(2048) #number of bytes to be read from the TCP socket sizeOfFile = int(Lib.readTextTCP(conn)) print(sizeOfFile) print("after sizeOfFile") if sizeOfFile == 0 : print("Der findes ikke nogen fil") return fileNameExtracted = Lib.extractFilename(fileName) fd = open(fileNameExtracted, 'wb') # while sizeOfFile >= BUFSIZE: # print("Inside receiveFile Inside while loop") # var = Lib.readImageTCP(conn) # fd.write(var) # # sizeOfFile -= BUFSIZE # print("After fileLEngth -=") # print("fd.close") # var = Lib.readImageTCP(conn) i = 1 #databuf = b"" while sizeOfFile > 0: print("receiving datapacket: ", i) if sizeOfFile >= 1000: data = conn.recv(BUFSIZE) #databuf += data sizeOfFile -= BUFSIZE i += 1 print("data received: ", data) elif sizeOfFile < BUFSIZE: data = conn.recv(sizeOfFile) print("data received: ", data) sizeOfFile -= sizeOfFile fd.write(data) fd.close()
def main(argv): # TO DO Your Code # Create a TCP/IP socket serverSocket = socket(AF_INET, SOCK_STREAM) # Bind the socket to the port server_address = (HOST, PORT) serverSocket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) serverSocket.bind(server_address) # Listen for incoming connections serverSocket.listen(1) print("Server are ready to recieve") # loop waiting for connections (terminate with Ctrl-C) try: while True: connectionSocket, address = serverSocket.accept() print "Connected from", address sentence = Lib.readTextTCP(connectionSocket) print "Client beder om: ", sentence file_name = Lib.extractFilename(sentence) print "Filnavn: ", file_name file_size = Lib.check_File_Exists(sentence) if file_size != 0: print "Filen findes!" print "Filen fylder: ", file_size Lib.writeTextTCP(str(file_size), connectionSocket) sendFile(sentence, file_size, connectionSocket) print "Filen er sendt!" else: print "Kuk kuk - tom fil eller er den bare tom?" Lib.writeTextTCP("Ingen fil..", connectionSocket) connectionSocket.close() print "Disconnected from", address finally: serverSocket.close()
def main(argv): clisock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #checks if input is correct if len(argv) == 2: serv = argv[0] msg = argv[1] else: print("Formatet skal vaere <server IP> <sti/Filnavn>") sys.exit() #client connects to server clisock.connect((serv, PORT)) print("Connection til server etableret") #writes the filename t the server Lib.writeTextTCP(msg, clisock) #gets the filsize size = Lib.getFileSizeTCP(clisock) print("filstorelsen er: {}".format(size)) dataread = 0 #checks if the file exsists and if it does it starts receiving the file if size > 0: filename = Lib.extractFilename(msg) print("Filnavnet er: {}".format(msg)) file = open(filename, 'wb') while dataread < size: filedata = clisock.recv(BUFSIZE) file.write(filedata) dataread = dataread + len(filedata) print("filen er faerdigoverfort") else: print("File not found on server") sys.exit() clisock.close()
def main(argv): host = sys.argv[1] file = sys.argv[2] # Create a TCP/IP socket clientSocket = socket(AF_INET, SOCK_STREAM) server_address = (host, PORT) clientSocket.connect(server_address) fileName = Lib.extractFilename(file) Lib.writeTextTCP(file,clientSocket) fileSize = Lib.readTextTCP(clientSocket) fileSize = int(fileSize) print fileSize msg = Lib.readTextTCP(clientSocket) if msg == "Sender Fil...": receiveFile(fileName, fileSize, clientSocket) else: print "Fejl 40 -", msg clientSocket.close()
def getTargetFileSize(targetFileName): targetFileSize = "" targetFileSize = Lib.check_File_Exists(Lib.extractFilename(targetFileName)) print('Size:') print(targetFileSize) return targetFileSize