48 lines
1.5 KiB
C++
48 lines
1.5 KiB
C++
// Copyright 2022 David Romanski (Socke). All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "SocketServer.h"
|
|
//#include "SocketServerTCPFileHandlerThread.generated.h"
|
|
|
|
class SOCKETSERVER_API FSocketServerTCPFileHandlerThread : public FRunnable {
|
|
|
|
public:
|
|
|
|
FSocketServerTCPFileHandlerThread(USocketServerTCP* tcpServerP, FSocketServerPluginSession& sessionP);
|
|
~FSocketServerTCPFileHandlerThread();
|
|
|
|
virtual uint32 Run() override;
|
|
|
|
void doRequestFileFromServer(FSocketServerToken tokenStruct);
|
|
void doSendFileToClient(FString message);
|
|
void triggerFileOverTCPProgress(FString sessionIDP, FString filePathP, float percentP, float mbitP, int64 bytesReceivedP, int64 fileSizeP);
|
|
void triggerFileTransferOverTCPInfoEvent(FString messageP, FString sessionIDP, FString filePathP, bool successP);
|
|
void sendEndMessage(FString fullFilePathP, FString tokenP, FString md5ClientP);
|
|
FString readMessageFromClient();
|
|
void sendMessageToClient(FString message);
|
|
void stopThread();
|
|
|
|
|
|
|
|
private:
|
|
USocketServerTCP* tcpServer = nullptr;
|
|
FSocketServerPluginSession session;
|
|
bool fileServer = false;
|
|
FRunnableThread* thread = nullptr;
|
|
bool run = true;
|
|
//int32 commandProgress = 0;
|
|
int64 fileSize = 0;
|
|
double WaitForRead = 30;
|
|
//FSocketServerTCPClientSendFileToThread* sendFileThread = nullptr;
|
|
};
|
|
|
|
|
|
//UCLASS(Blueprintable, BlueprintType)
|
|
//class USocketServerTCPFileHandler : public UObject
|
|
//{
|
|
// GENERATED_UCLASS_BODY()
|
|
//
|
|
// UFUNCTION()
|
|
// void receiveData(const FString sessionID, const FString message, const TArray<uint8>& byteArray, const FString serverID);
|
|
//};
|