diff --git a/program/Source/networking/FileServerConnection.cpp b/program/Source/networking/FileServerConnection.cpp index 8264a469ab952bffbee85ff771b6ca901f2efa8f..08233bff94655b31ef919c12a4269c15d30ec406 100644 --- a/program/Source/networking/FileServerConnection.cpp +++ b/program/Source/networking/FileServerConnection.cpp @@ -20,7 +20,7 @@ void FileServerConnection::run() int msgType; int fileNameSize; - streamsize fileSize; + long long fileSize; socket().receiveBytes(&msgType, sizeof(msgType)); socket().receiveBytes(&fileNameSize, sizeof(fileNameSize)); @@ -50,9 +50,9 @@ void FileServerConnection::run() } // Send file - auto size = getFileSize(file); + fileSize = getFileSize(file); socket().sendBytes(&OK_ANS, sizeof(OK_ANS)); - socket().sendBytes(&size, sizeof(size)); + socket().sendBytes(&fileSize, sizeof(fileSize)); while (file) { file.read(buffer, sizeof(buffer)); @@ -67,7 +67,7 @@ void FileServerConnection::run() socket().receiveBytes(&fileSize, sizeof(fileSize)); // Create file - ofstream file("out/" + fileName, ios::out | ios::binary); + ofstream file(dataFolder + fileName, ios::out | ios::binary); // Start receiving file while (fileSize != 0) @@ -78,7 +78,15 @@ void FileServerConnection::run() } socket().sendBytes(&OK_ANS, sizeof(OK_ANS)); + socket().close(); + file.close(); cout << "received: " << fileName << endl; + + auto result = app.cfs.addFile(fileName, fileName); + if (!result) + cout << "error uploading file: " << fileName << endl; + else + cout << "successfully uploaded file: " << fileName << endl; } else { diff --git a/program/Source/networking/HomeNetworkCommunications.cpp b/program/Source/networking/HomeNetworkCommunications.cpp index bd92a6c03f79c488c8465c695a2bbad4e6781309..7762b44177e516130c3354068704434e6aeda91e 100644 --- a/program/Source/networking/HomeNetworkCommunications.cpp +++ b/program/Source/networking/HomeNetworkCommunications.cpp @@ -66,7 +66,7 @@ bool HomeNetworkCommunications::addFileRemote(string fileID) } socket.receiveBytes(&msgType, sizeof(msgType)); - if (msgType != OK_ANS) + if (msgType == OK_ANS) // Successfully sent return true; @@ -86,7 +86,6 @@ ReturnableFile HomeNetworkCommunications::getFileRemote(string fileID) result.setErrorMessage("Remote server not available"); return result; } - int msgType; int fileNameSize = fileID.size(); @@ -112,6 +111,11 @@ ReturnableFile HomeNetworkCommunications::getFileRemote(string fileID) // Get file char buffer[100000]; ofstream file(dataFolder + fileID, ios::out | ios::binary); + if (!file) + { + result.setErrorMessage("Error creating file"); + return result; + } socket.receiveBytes(&fileSize, sizeof(fileSize)); while (fileSize != 0)