Recent studies suggest that protein ingested prior to weight training sessions is the most effective for promoting strength gains and muscle recovery. It takes time for your body to digest protein, and by eating about 20 grams of protein in the 20 minutes before you begin strength training, the amino acids will be available for use by the time you finish your workout.
Now, it's important to make the distinction that the protein you're eating before training is not the fuel you're burning during your workout. Carbohydrates are the primary fuel burned during strength training, so your pre-workout nutrition should include a carbohydrate-rich food in the hour before training. You can combine these two recommendations and have one snack with both carbs and protein about 20-30 minutes before your workout.
After training, a carbohydrate-rich recovery drink that includes a little protein is a good way to accelerate the replenishment of carbohydrate stores in your muscles. Within an hour or so, a full meal that contains a more significant source of protein, like chicken, fish, tofu, or whey protein is a good idea for both optimizing muscle recovery and building lean muscle mass.