Other Compilation Error (5)

----SocketServerActor.cpp

#include “SocketSeverActor.h”
#include
#include “Networking.h”
#include “Engine.h”
#include “CoreMinimal.h”

void ASocketSeverActor::BeginPlay()
{
Super::BeginPlay();

Start();

}

void ASocketSeverActor::Tick(float DeltaTime)
{
Super::Tick(DeltaTime);
}

bool ASocketSeverActor::StartTCPReceiver(const FString & YourChosenSocketName, const FString & TheIP, const int32 ThePort)
{
//Rama’s CreateTCPConnectionListener
ListenerSocket = CreateTCPConnectionListener(YourChosenSocketName, TheIP, ThePort);

//Not created?
if (!ListenerSocket)
{
	GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("StartTCPReceiver>> Listen socket could not be created! ~> %s %d"), *TheIP, ThePort));
	UE_LOG(LogTemp, Log, TEXT("StartTCPReceiver>> Listen socket could not be created! ~> %s %d"), *TheIP, ThePort);
	return false;
}

//Start the Listener! //thread this eventually
//GetWorldTimerManager().SetTimer(this, &AMyActorTest::TCPConnectionListener, 0.01, true);
FTimerHandle time_handler;
GetWorldTimerManager().SetTimer(time_handler, this, &ASocketServerActor::TCPConnectionListener, 0.01, true);

return true;

}

FSocket * ASocketSeverActor::CreateTCPConnectionListener(const FString & YourChosenSocketName, const FString & TheIP, const int32 ThePort, const int32 ReceiveBufferSize)
{
uint8 IP4Nums[4];
if (!FormatIP4ToNumber(TheIP, IP4Nums))
{
//VShow(“Invalid IP! Expecting 4 parts separated by .”);
return false;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//Create Socket
FIPv4Endpoint Endpoint(FIPv4Address(IP4Nums[0], IP4Nums[1], IP4Nums[2], IP4Nums[3]), ThePort);
FSocket* ListenSocket = FTcpSocketBuilder(*YourChosenSocketName).AsReusable().BoundToEndpoint(Endpoint).Listening(8);

//Set Buffer Size
int32 NewSize = 0;
ListenSocket->SetReceiveBufferSize(ReceiveBufferSize, NewSize);

//Done!
return ListenSocket;

}

void ASocketSeverActor::TCPConnectionListener()
{
//~~~~~~~~~~~~~
if (!ListenerSocket)
{
return;
}

//~~~~~~~~~~~~~

//Remote address
TSharedRef<FInternetAddr> RemoteAddress = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateInternetAddr();
bool Pending;

// handle incoming connections
if (ListenerSocket->HasPendingConnection(Pending))
{
	//  UE_LOG(LogTemp, Log, TEXT("TCPConnectionListener Pending = %d"), Pending);
	if (Pending)
	{
		UE_LOG(LogTemp, Log, TEXT("TCPConnectionListener 1"));

		//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
		//Already have a Connection? destroy previous
		if (ConnectionSocket)
		{
			ConnectionSocket->Close();
			ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->DestroySocket(ConnectionSocket);
		}
		//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

		//New Connection receive!
		ConnectionSocket = ListenerSocket->Accept(*RemoteAddress, TEXT("RamaTCP Received Socket Connection"));

		if (ConnectionSocket != NULL)
		{
			//Global cache of current Remote Address
			RemoteAddressForConnection = FIPv4Endpoint(RemoteAddress);

			//can thread this too
			FTimerHandle time_handler;
			GetWorldTimerManager().SetTimer(time_handler, this, &ASocketServerActor::TCPSocketListener, 0.01, true);
		}
	}
}

}

void ASocketSeverActor::TCPSocketListener()
{
//~~~~~~~~~~~~~
if (!ConnectionSocket) return;
//~~~~~~~~~~~~~

//Binary Array!
TArray<uint8> ReceivedData;

uint32 Size;
while (ConnectionSocket->HasPendingData(Size))
{
	UE_LOG(LogTemp, Log, TEXT("Size %d"), Size);
	ReceivedData.Init(FMath::Min(Size, 4096u));

	int32 Read = 0;
	ConnectionSocket->Recv(ReceivedData.GetData(), ReceivedData.Num(), Read);

	//GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("Data Read! %d"), ReceivedData.Num()));
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

if (ReceivedData.Num() <= 0)
{
	return;
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//      Rama's String From Binary Array
const FString ReceivedUE4String = StringFromBinaryArray(ReceivedData);
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

UE_LOG(LogTemp, Log, TEXT("Receive : %s"), *ReceivedUE4String);
GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("As String Data ~> %s"), *ReceivedUE4String));

}

bool ASocketSeverActor::FormatIP4ToNumber(const FString & TheIP, uint8(&Out)[4])
{
//IP Formatting
TheIP.Replace(TEXT(" “), TEXT(”"));

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//         IP 4 Parts

//String Parts
TArray<FString> Parts;

TheIP.ParseIntoArray(Parts, TEXT("."), true);

if (Parts.Num() != 4)
	return false;

//String to Number Parts
for (int32 i = 0; i < 4; ++i)
{
	Out[i] = FCString::Atoi(*Parts[i]);
}

return true;

}

FString ASocketSeverActor::StringFromBinaryArray(const TArray& BinaryArray)
{
//Create a string from a byte array!
UE_LOG(LogTemp, Log, TEXT(“StringFromBinaryArray %d”), BinaryArray.Num());

std::string cstr(reinterpret_cast<const char*>(BinaryArray.GetData()), BinaryArray.Num());

UE_LOG(LogTemp, Log, TEXT("cstr.length %d"), cstr.length());
return FString(cstr.c_str());

}

void ASocketSeverActor::Start()
{
if (!StartTCPReceiver(“RamaSocketListener”, “192.168.168.110”, 1111))
{
UE_LOG(LogTemp, Log, TEXT(“TCP Socket Listener Created!”));
return;
}

UE_LOG(LogTemp, Log, TEXT("StartTCPReceiver Success!!"));

}

	UnrealHeaderTool failed for target 'ServerEditor' (platform: Win64, module info: D:\Unreal\Server\Intermediate\Build\Win64\ServerEditor\Development\ServerEditor.uhtmanifest, exit code: OtherCompilationError (5)).	

	too few arguments in function call	Server	

The command "D:\Unreal\UE_4.18\Engine\Build\BatchFiles\Build.bat ServerEditor Win64 Development "D:\Unreal\Server\Server.uproject" -waitmutex" exited with code 5. Please verify that you have sufficient rights to run this command.	Server	

	name followed by '::' must be a class or namespace name	Server	

	class "UObject" has no member "Tick"	Server	

            class "UObject" has no member "BeginPlay"	Server

Sorry for poor English. I have those errors, and I don’t know how to solve it.
Please check my code.

Try to comment line by line until you fix the problem. After that you will find locate the problem and fix it easy