增加多屏显示,视频播放

This commit is contained in:
liuyunhui
2025-09-19 14:40:23 +08:00
parent fded7b9a51
commit 9076a5ea41
112 changed files with 24986 additions and 21 deletions
@@ -0,0 +1,179 @@
// Copyright 2017-2019 David Romanski (Socke). All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Sockets.h"
#include "SocketSubsystem.h"
#include "Interfaces/IPv4/IPv4Endpoint.h"
#include "Common/UdpSocketReceiver.h"
#include "Common/UdpSocketBuilder.h"
#include "GameFramework/PlayerController.h"
#include "Engine/LocalPlayer.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "Kismet/BlueprintAsyncActionBase.h"
#include "Async/Async.h"
#include "HAL/PlatformFileManager.h"
#include "HAL/FileManager.h"
#include "Containers/Queue.h"
#include "Misc/FileHelper.h"
#include "Misc/Paths.h"
#include "Misc/Base64.h"
#include "Misc/SecureHash.h"
#include "Misc/AES.h"
#include "Modules/ModuleManager.h"
#include "Runtime/Launch/Resources/Version.h"
#if ENGINE_MAJOR_VERSION == 5 & ENGINE_MINOR_VERSION >= 2
#include "IPAddressAsyncResolve.h"
#endif
#include "SocketClient.generated.h"
class FSocketClientTCPReceiveDataThread;
class FSocketClientTCPSendDataThead;
class FSocketClientTCPFileHandlerThread;
class FUdpSocketReceiver;
class FSocketClientUDPReceiveDataThread;
class FSocketClientUDPSendDataThead;
class UTCPConnectAsyncNode;
class UUDPInitAsyncNode;
USTRUCT(BlueprintType)
struct FFileFunctionsSocketClientOpenFile
{
GENERATED_USTRUCT_BODY()
FArchive* writer = nullptr;
};
USTRUCT()
struct FSocketClientPluginSession
{
GENERATED_USTRUCT_BODY()
int64 addToCleanerTime = 0;
FString clientID = FString();
FSocket* socket = nullptr;
FSocketClientTCPSendDataThead* tcpSendThread = nullptr;
FSocketClientTCPReceiveDataThread* tcpRecieverThread = nullptr;
FSocketClientTCPFileHandlerThread* tcpFileHandlerThread = nullptr;
FUdpSocketReceiver* udpSocketReceiver = nullptr;
FSocketClientUDPSendDataThead* udpSendDataThead = nullptr;
FSocketClientUDPReceiveDataThread* udpReceiveDataThread = nullptr;
};
UENUM(BlueprintType)
enum class EFileFunctionsSocketClientDirectoryType : uint8
{
E_gd UMETA(DisplayName = "Game directory"),
E_ad UMETA(DisplayName = "Absolute directory")
};
UENUM(BlueprintType)
enum class EFileFunctionsSocketClientEncodingOptions : uint8
{
E_AutoDetect UMETA(DisplayName = "AutoDetect"),
E_ForceAnsi UMETA(DisplayName = "ForceAnsi"),
E_ForceUnicode UMETA(DisplayName = "ForceUnicode"),
E_ForceUTF8 UMETA(DisplayName = "ForceUTF8"),
E_ForceUTF8WithoutBOM UMETA(DisplayName = "ForceUTF8WithoutBOM")
};
UENUM(BlueprintType)
enum class EReceiveFilterClient : uint8
{
E_SAB UMETA(DisplayName = "Message And Bytes"),
E_S UMETA(DisplayName = "Message"),
E_B UMETA(DisplayName = "Bytes")
};
UENUM(BlueprintType)
enum class ESocketPlatformClient : uint8
{
E_SSC_SYSTEM UMETA(DisplayName = "System"),
E_SSC_DEFAULT UMETA(DisplayName = "Auto"),
E_SSC_WINDOWS UMETA(DisplayName = "WINDOWS"),
E_SSC_MAC UMETA(DisplayName = "MAC"),
E_SSC_IOS UMETA(DisplayName = "IOS"),
E_SSC_UNIX UMETA(DisplayName = "UNIX"),
E_SSC_ANDROID UMETA(DisplayName = "ANDROID"),
E_SSC_PS4 UMETA(DisplayName = "PS4"),
E_SSC_XBOXONE UMETA(DisplayName = "XBOXONE"),
E_SSC_HTML5 UMETA(DisplayName = "HTML5"),
E_SSC_SWITCH UMETA(DisplayName = "SWITCH")
};
UENUM(BlueprintType)
enum class ESocketClientIPType : uint8
{
E_ipv4 UMETA(DisplayName = "IPv4"),
E_ipv6 UMETA(DisplayName = "IPv6")
};
UENUM(BlueprintType)
enum class ESocketClientTCPSeparator : uint8
{
E_None UMETA(DisplayName = "None"),
E_ByteSeparator UMETA(DisplayName = "Separate via one Byte"),
E_StringSeparator UMETA(DisplayName = "Separate via String"),
E_LengthSeparator UMETA(DisplayName = "Separate by Length")
};
#ifndef __FileFunctionsSocketClient
#define __FileFunctionsSocketClient
#include "FileFunctionsSocketClient.h"
#endif
#ifndef __SocketClientCleanerThread
#define __SocketClientCleanerThread
#include "SocketClientCleanerThread.h"
#endif
#ifndef __SocketClientAsyncNodes
#define __SocketClientAsyncNodes
#include "SocketClientAsyncNodes.h"
#endif
#ifndef __SocketClientBPLibrary
#define __SocketClientBPLibrary
#include "SocketClientBPLibrary.h"
#endif
#ifndef __SocketClientTCP
#define __SocketClientTCP
#include "SocketClientTCP.h"
#endif
#ifndef __SocketClientUDP
#define __SocketClientUDP
#include "SocketClientUDP.h"
#endif
class FSocketClientModule : public IModuleInterface
{
public:
/** IModuleInterface implementation */
virtual void StartupModule() override;
virtual void ShutdownModule() override;
static bool isShuttingDown;
};