#include “ClientTest.h”
#include “ClientGameMode.h”
#include “Sockets.h”
#include “SocketSubsystem.h”
#include “Networking.h”
#include “SharedPointer.h”
AClientGameMode::AClientGameMode(const class FPostConstructInitializeProperties& PCIP)
: Super(PCIP)
{
Socket = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateSocket(NAME_DGram, TEXT("default"), false);
}
void AClientGameMode::initUDP(){
auto addr = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateInternetAddr();
addr->SetAnyAddress(); //setIP
addr->SetPort(7777);
if (!Socket->Bind(*addr)){
UE_LOG(LogTemp, Warning, TEXT("ppc"));
}
else{
UE_LOG(LogTemp, Warning, TEXT("Bounded"));
}
//Socket->SetBroadcast(true);
}
void AClientGameMode::closeUDP(){
Socket->Close();
}
FString AClientGameMode::GetMindPower(){
int32 bytes_read = 0;
//uint32 datas;
FString ret;
memset(data, '\0', 512);
if (Socket->RecvFrom(data, 512, bytes_read, *addr_in)){
UE_LOG(LogTemp, Warning, TEXT("PEND"));
data[bytes_read] = 0;
FString s((const char*)data);
ret = s;
}
ret = FString::FromInt(bytes_read);
return ret;
//else return "";
}