private object[] _receiveGameState(UdpClient _client) { IPEndPoint ipep = null; var data = _client.Receive(ref ipep); // Data of the game-state (tiles, entities, et cetera) int length = BitConverter.ToInt32(data, 0); data = new byte[length]; byte[] temp; int recieved = 0; while (recieved < length) { temp = _client.Receive(ref ipep); temp.CopyTo(data, recieved); recieved += temp.Length; } return(BinaryHelper.LoadGameState(data)); }