FSocket->Recv: RCON polling loop gets stuck on Linux server

For a RCON server we are using the following code snippet within a loop:

int32 BytesRead;
uint8 Data;
if (!Socket->Recv(&Data, 1, BytesRead, ESocketReceiveFlags::Peek))
{
	...
}

On Windows dedicated server it works fine, but on Linux server the loop gets stuck until the next message is received by a RCON client.

Is there a bug in the Linux/BSD implementation of FSocket?

peek doesnt remove buffer