В гостях любые меры воспитания неэффективны. Поэтому ребенка надо заранее тренировать на посещение общественных мест, ходить в детские кафе, в "мягкие" гости типа к бабушке, приглашать к себе. А "в люди" выходить, когда есть уверенность в нормальном поведении.А все, что Вы описали, для 2-3 летнего ребенка вполне нормально. Не надо ждать от него поведения английской королевы на банкете. С ним либо вообще не ходить в гости, либо все время его занимать (а смысл тогда в гости идти), либо идти в гости туда, где есть такие же дети.