Files
UE_SpaceStudio/SpaceStudioClient/Plugins/SocketServer/Source/SocketServer/Public/SocketServerTCPFileHandlerThread.h
T
2025-09-15 17:17:30 +08:00

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);
//};