When thinking about what to eat after exercise there are two key macronutrients that you need to involve: protein and carbohydrates. Recovery or post-workout meals or snacks should include protein to repair damaged muscle (gains in strength and muscle mass come from damaging the muscle through stress / loads), carbohydrate to restock the body's glycogen stores (glycgoen is stored form of carbohydrate that is your body's preferred energy source for exercise), and lots of fluid and some electrolytes to replace that lost through sweating. So think:
Rehydrate - muscles can't recover unless your cells are properly hydrated
Refuel - replenish glycogen stores so your muscles don't feel so tired and sore
Rebuild - protein, approx 20g of protein for muscle repair
Ideally, you want to have a complete protein source, which is one that contains all the essential amino acids (there's 8 of them) and preferably one that contains leucine. Both cow's and soya milk are fabulous recovery drinks as they contain fluid, protein and carbohydrates. It's why chocolate milk is a long standing favourite recovery drink for athletes. It promotes rehydration, glycogen replenishment and muscle repair and growth. Other options are smoothies made with milk, yoghurt, fruit and vegetables, or fruit and nut snack bars, flapjacks, or bananas and nuts.
If you aren't the snacking type then just make sure that your meals within the next 24 hours get you sufficient protein, carbohydrate and fluids to assist the recovery process. You don't have to eat it all at once unless you are working out again in less than 24 hours. I've put a lot of recipes in this section of the blog that will provide you with your refuel needs but classic combos are meals like chicken and vegetable stir fry with rice, pasta with tomato sauce and lean meat or fish, bean casseroles, beef or lentil chill or bolognese with pasta or rice and vegetables, grilled meat with vegetables and potatoes. Don't fear the carbohydrates, even if you're wanting to lose weight - your body needs them. Just adapt the quantities based on the intensity and duration of your workout.
Timing wise, do you need to eat straight after exercise? Not necessarily but it also depends a bit on the type of workout, duration and frequency of training. In general, recovery continues long after the initial post exercise period, up to 24-48 hours afterwards. So unless you are frequently working out (e.g less than 24 hours apart) you don't need to rush in the 'refuel' process. Simply, as long as you include enough calories, carbohydrate and protein over a 24 hour period then your muscles will have recovered before your next workout. But if you are working out close together than it is best to eat within the two hour recovery window where glycogen recovery is faster than normal. Plus if you are feeling wobbly after a workout then it is a sign that you probably need to get on the case with the refuel, rehydrate and rebuild!