HasPendingData is always false

Hi,
This is my code, an UDP client, when it comes to HasPendingData it returns always false;
If I use winsock2 it works, but can’t compile, so I’m forced to use unreal classes

const FIPv4Address IP(192, 168, 0, 122);
Socket = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateSocket(NAME_DGram, TEXT("default"), true);

TSharedRef<FInternetAddr> addr = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM)->CreateInternetAddr();
addr->SetIp(IP.Value);
addr->SetPort(1234);
bool connected = Socket->Connect(*addr);

FString serialized = TEXT("");
TCHAR *serializedChar = serialized.GetCharArray().GetData();
int32 size = FCString::Strlen(serializedChar);

int32 sent = 0;

bool successful = Socket->Send((uint8*)TCHAR_TO_UTF8(serializedChar), 0, sent);

bool pendingData = Socket->HasPendingData(PendingDataSize);

Thank you for your help.