a) What countries are you calling "socialist"? There are only six socialist countries -- China, North Korea, Vietnam, Laos, Cambodia and Cuba.
b) Yes, most people in China, Cambodia and Vietnam are happy. I have not been to Laos in a long time and never been to Cuba or North Korea to make an honest estimate.
c) Even poor people can be happy if they have enough to eat, money for clothing and a comfortable home to live in and a good family life.